打包python环境过程详解

docker打包Python环境的过程详解

服务器技术 2021-10-08 17:05:40 24

导读

docker打包Python环境过程,步骤如下所示:1导出piplist下面的依赖包pip freeze > requirements.txt把导出的requirements.txt放在docker_test目录里docker_test为将要打包的代码源文件夹。此demo的docker_test文件夹下面应该有requirements.txt和app.py文件……

docker打包Python环境过程,步骤如下所示:

1 导出pip list下面的依赖包

pip freeze > requirements.txt

把导出的requirements.txt放在docker_test目录里

docker_test为将要打包的代码源文件夹。此demo的docker_test文件夹下面应该有requirements.txt和app.py文件

2 编写Dockfile文件

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

# 基于的基础镜像

FROM python:3.9.6

# 维护者信息

MAINTAINER name chy@163.com

# 将docker_test目录下的代码添加到镜像中的code文件夹(两个目录参数中间有空格分开)

ADD ./docker_test /code

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

WORKDIR /code

# 安装支持

RUN pip install -r requirements.txt

#docker运行时即运行app.py文件

CMD ["python","/code/app.py"]

3 制作镜像

docker build -t imagename Dockerfilepath 

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

docker build -t d_t .

4 运行镜像

docker run -t -i d_t

5 运行结果

docker打包Python环境的过程详解

ps:下面再接着看下docker打包Python程序

步骤:准备环境-复制Python程序-启动程序

为了简单,我们的Python程序就是一个Python文件app.py

app.py

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
    return "hello docker"
if __name__ == '__main__':
    app.run(host="0.0.0.0", port=5000)

Dockerfile

FROM python:2.7
LABEL maintainer="Peng Xiao<xiaoquwl@gmail.com>"
RUN pip install flask
COPY app.py /app/
WORKDIR /app
EXPOSE 5000
CMD ["python", "app.py"]

build image 和 启动容器

docker build -t soymilk/python-test .
docker run -d soymilk/python-test


1253067 TFnetwork_cn