使用 Docker 部署 Python 项目

前提准备

首先生成项目依赖文件

1
pip freeze > requirements.txt

此时会在项目目录下生成 requirements.txt 文件

创建 Dockerfile 文件

1
2
3
4
5
6
7
8
9
10
# 基于镜像基础
FROM python:3.7
# 设置代码文件夹工作目录 /app
WORKDIR /app
# 复制当前代码文件到容器中 /app
ADD . /app
# 安装所需的包
RUN pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com -r requirements.txt
# Run app.py when the container launches
CMD ["python", "main.py"]

比如我们的项目入口文件是 main.py 命令行对应配置即可

个人习惯使用 docker-compose 启动 , 创建 docker-compose.yml 文件

1
2
3
4
5
6
7
version: '3'
services:
pes-spider:
build: .
restart: always
volumes:
- /etc/localtime:/etc/localtime:ro

以上具体配置可参考往期文章 Dockerfile详解

上传文件

将项目 py 文件 、以上2个 docker 文件 ,依赖文件 requirements.txt 上传到服务器同一目录

构建&运行

1
2
3
4
# 首次构建
docker-compose up -d
# 若更新了py文件需要重新构建镜像及容器
docker-compose up -d --build

参考链接