构建镜像&docker命令
·
1、有网的机器编写DockerFile文件
FROM python:3.9-slim
RUN apt-get update && apt-get install -y \
libgl1 \
libglib2.0-0 \
&& rm -rf /var/lib/apt/lists/*
# 设置工作目录
WORKDIR /app
# 设置环境变量
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
# 复制依赖文件
COPY requirements.txt .
# 安装依赖
RUN pip install --no-cache-dir -r requirements.txt
# 复制项目代码
COPY . .
# 暴露端口
EXPOSE 5000
# 启动命令 - 绑定到 0.0.0.0
CMD ["python", "-u", "app.py"]
2、编写docker-compose文件
services:
webapp:
build: .
image: reservoir-app
container_name: reservoir-webapp
ports:
- "5000:5000"
nginx:
image: nginx
container_name: reservoir-nginx
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf
depends_on:
- webapp
ports:
- "18520:80"
3、构建并启动
docker-compose up -d --build
本地需要有nginx.conf文件:
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://webapp:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
4、查看docker容器的信息
# 查看日志
docker-compose logs -f
# 查看端口
sudo ss -tulnp | grep 18530
# 查看现有的镜像
sudo docker images
5、打包镜像
sudo docker save redis:arm | gzip > redis-arm.tar.gz
6、释放redis镜像
sudo gunzip -c redis-x86.tar.gz | sudo docker load
7、更改标签名称
sudo docker tag abc123456789 redis:x86
8、结束服务
sudo docker-compose down -v
更多推荐
所有评论(0)