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

更多推荐