docker封装python程序_Docker容器Python程序部署记录,docker,化,python

本文详细介绍了如何在Docker中部署Python程序,包括通过requirements.txt管理和安装依赖,以及编写Dockerfile来创建镜像。步骤包括使用pip freeze、pipreqs或pip-compile生成requirements.txt,然后基于Python镜像构建Dockerfile,安装依赖并运行程序。最后,文章还讲解了镜像的打包、导入导出、容器的管理和文件修改等操作。
摘要由CSDN通过智能技术生成

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 可以看到修改后的文件生效了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值