打包Python程序为Docker

适用于本地已有python开发环境(python,pip 等), 需要把整个项目打包成docker镜像便于发布。

大致步骤如下

1. 安装Docker

2. 导出程序依赖包

3. 编写Dockfile

4. 制作镜像

5. 运行

安装Docker

curl -fsSL https://get.docker.com | bash

curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod a+x /usr/local/bin/docker-compose

# 创建个软链接,以后用 dc 命令来代替 docker-compose

rm -rf `which dc`  # 若系统中存在 dc 则删除,这个 dc 就是个计算器,完全没有用

ln -s /usr/local/bin/docker-compose /usr/bin/dc

项目基于python3.5.3版本,文件夹 docker_test, 主入口文件 docker_test/Main.py

导出程序依赖包

 pip freeze > requirements.txt

生成的 requirements.txt 复制到docker_test里,或者执行freeze命令时带着文件夹名,最终确保requirements.txt在docker_test里即可。

编写Dockfile

在docker_test同目录下创建Dockfile文件,格式如下:

# 基于的基础镜像

FROM python:3.5.3

# 维护者信息

MAINTAINER name  name@163.com

# 代码文件放置在docker_test文件夹,自动添加到code文件夹

ADD ./docker_test /code

# 设置code文件夹是工作目录

WORKDIR /code

# 安装支持

RUN pip install -r requirements.txt

CMD [“python3”, “/code/Main.py”]

制作镜像

docker build -t imagename Dockerfilepath

# Dockerfilepath:Dockerfile 所在文件夹名称,当前名录为 “.”

docker build -t testimage .

运行镜像

docker run -d –name yourdockername testimage

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《打包Python程序为Docker》
文章链接:https://wrlog.cn/2022/03/1172/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。