docker中部署python程序需要两个文件
1.requirements.txt作为相关包的引入;2.Dockerfile镜像文件
1.requirements.txt生成
<1>pip
进入所需的python环境,在命令行里输入pip freeze > ./requirements.txt。
生成的requirements.txt里包含这个环境里下周的所有的python包。
安装:pip install -r path/requirements.txt
<2>.pipreqs
进入所需的python环境,在命令行里输入
pip install pipreqs,
pipreqs . --encoding=utf8 --force。
生成的requirements.txt里只包代码里import的python包。
安装:pip install -r path/requirements.txt
<3>pip-compile
使用前需要安装 pip install pip-tools 如果权限不够,请 sudo
先在项目目录中创建 requirements.in 文件,然后手动写入包文件名称
执行 pip-compile requirements.in, 然后 cat requirements.txt
总结
2.Dockerfile文件撰写
FROM python:3.6.8
MAINTAINER _xx
COPY . /home/ZTSJJL
WORKDIR /home/ZTSJJL
EXPOSE 19956
RUN apt-get update
&& apt-get install -y vim
&& pip install pip -U
&& pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
&& pip install --upgrade pip
&& pip install -r requirements.txt --default-timeout=1000[引入程序所需要的包]
CMD [“python”,“main.py”]
打包成镜像步骤
1.cd 进入到程序所在目录
2.docker build -t -name .(注意 . !!!)
3.docker run -d(后台运行) -p 8080(外部端口):8080(内部端口) -name
镜像导入导出
1.导出镜像:docker save -o 生成.tar 镜像name
2.导入镜像docker load < 生成.tar【必须再镜像所在目录】
docker images查看所有镜像
docker ps查看所有正在运行容器
docker ps -a查看所有容器
删除镜像 docker rmi 镜像id
删除容器:1.停止容器docker stop 容器id 2.删除docker rm 容器id
进入docker容器内部修改py文件【必须容器启动才可进入】
1.docker run -t 镜像id /bin/bash
2.ls查看所有目录
3.cd进入要修改文件所在目录
4.编辑#vi 文件名.py
5.进入编辑模式 #i
6.操作键盘进行修改或者插入内容,上下左右移动用↑↓←→,删除用退格键
7.退出编辑模式 按键 Esc
8.保存并退出 直接输入 :wq 按回车键
9.查看修改过的文件 #cat 文件路径/xx.txt 可以看到修改后的文件生效了