使用 Docker 打包 Python 项目

1. 获取 Python 的镜像文件

项目的封装可以建立在已有镜像的基础上,在 Ubuntu 中可通过

docker pull python:3.6.8-slim-stretch # 这里选取了3.6版本

获取 Python 镜像

2. 配置 Dockerfile 文件

在 Python 项目的根目录新建 Dockerfile 文件,Dockerfile 名字必须是这个,否则报错,在 Dockerfile 文件中写入下面内容:

FROM python:3.6.8-slim-stretch  WORKDIR /usr/src/appCOPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txtCOPY . .
ENTRYPOINT ["python"]
CMD ["./run.py"]

3. 创建镜像

创建镜像的命令为:

docker build -t python-project:1.0 .

需要注意的是最后面的 “.” 不能省略 ,“.”代表当前目录

4. 运行镜像

运行镜像的命令为:

docker run --rm -p 5000:5000 --name pyproject python-project:1.0

这行命令中的几个参数的含义分别如下

此外,可能会经常用到的参数还有:

5. 常用命令总结

docker build -t pflask:1.0 .   创建镜像docker images | grep python    查看镜像docker run --rm -p 5000:5000 pflask:1.0   运行镜像docker run --rm -p 5000:5000 -e env1=evn1 pflask:1.0  加入环境变量docker run -d pflask:1.0   运行docker并守护进程docker ps -a            查看当前正在运行的所有镜像docker stop IMAGE_ID    根据 IMAGE_ID 停止镜像进程docker rm -f IMAGE_ID   根据 IMAGE_ID 删除镜像进程docker rmi IMAGE_ID     根据 IMAGE_ID 删除镜像docker logs -f tname    根据助记符查看日志ss -anp | grep 5000     从所有端口中过滤出 5000curl -v "http://192.168.195.100:5000"   测试连接cat hello.py     查看文件a256sum hello.py   散列算法Dockerfile内容FROM python:3.6.8-slim-stretchWORKDIR /usr/src/appCOPY requirements.txt ./RUN pip install --no-cache-dir -r requirements.txtCOPY . .ENTRYPOINT ["python"]CMD ["/run.py"]

参看资料:

1、https://blog.csdn.net/weixin_42902669/article/details/89042202

2、https://www.cnblogs.com/dhName/p/12680944.html

3、https://www.cnblogs.com/sammy1989/p/9406899.html

4、https://www.cnblogs.com/shoufu/p/12960752.html

2021-01-22 使用 Docker 打包 Python 项目相关推荐

  1. docker打包Python项目

    docker打包Python项目 Step1: 配置运行环境文档 项目结构如下 docker_test ├── Dockerfile ├── (myapps) │ └── BPNN.py └── re ...

  2. 使用pyinstaller打包python_使用pyinstaller打包Python项目,python

    00 前言 上一篇文章写的是使用百度aip实现一个图片转文字的小工具( https://blog.csdn.net/George_Clancy/article/details/105551872 ), ...

  3. Python训练营2021:构建8个真实世界的Python项目

    时长:19h 27m |视频:. MP4,1280×720 30 fps |音频:AAC,44.1 kHz,2ch |大小:9.54 GB 语言:英语+中英文字幕 机译 从Python Web开发的初 ...

  4. docker 部署Python项目 以及dockerfile文件的编写

    Dockerfile文件详解:https://www.cnblogs.com/panwenbin-logs/p/8007348.html Docker的基本使用(部署python项目): https: ...

  5. python setup.py build_打包Python项目为rpm时遇到python setup.py build报错的问题

    问题描述 使用rpmbuild打包python项目,执行报错 rpmbuild -bb autoinstall.spec hrwxr-xr-x XXX/XXX     0 2018-12-19 13: ...

  6. Leetcode刷题 2021.01.22

    Leetcode刷题 2021.01.22 Leetcode1042 不邻接植花 Leetcode1010 总持续时间可被 60 整除的歌曲 Leetcode1091 二进制矩阵中的最短路径 Leet ...

  7. 【Python】使用Docker部署Python项目

    用Docker部署Python项目 0.源码目录 1.编写Dockerfile文件 2.Docker根据Dockerfile文件生成Docker镜像 3.将镜像运行在Docker容器中 众所周知,同一 ...

  8. 【新】使用setuptools打包Python项目

    如何使用setuptools打包Python项目 如何使用setuptools打包Python项目 一.准备 二.项目结构 三.简单打包 3.1 文件内容 3.2 打包项目 3.3 安装测试 四.自定 ...

  9. Docker打包python镜像

    Docker打包python镜像 下载依赖 pip download fastapi pip download uvicorn 准备requirements.txt文件 main.py脚本 from ...

最新文章

  1. NeurIPS 2020论文接收列表公布,智源研究院35篇入围
  2. 设计非常优秀的软件界面
  3. 面试必问:常用的加密算法有哪些?
  4. Spring管理事务的若干配置形式
  5. 使用 做签名的post_ASP.NET WebApi 基于分布式Session方式实现Token签名认证
  6. java keypad game,Take character and return the Keypad equivalant
  7. 小心 HttpClient 中的 FormUrlEncodeContent 的 bug
  8. /etc/shadow 文件详解
  9. java训练_Java练习
  10. 数据结构--树状数组
  11. php删除一张表数据的时候 把另一张表的数据也删除,剔除第一张表的数据时,修改第二张表的相关字段的数值...
  12. 配置环境JDK Tomcat Maven
  13. Windows破解笔记-windows API中的SendMessage
  14. 【JEECG-Mybatis版本】springmvc+mybatis+代码生成器(代码一键生成)
  15. Gprinter Android SDK V2.1.4 使用说明
  16. nacos 本地测试_本地调试和服务器调试都无法连通-问答-阿里云开发者社区-阿里云...
  17. 金山毒霸专业版高调上线 宣称杀毒速度增3倍
  18. Docker for Windows 中文文档(3)——Docker Settings
  19. pt-table-checksum
  20. 为什么开发移动端web不使用jQuery

热门文章

  1. 大厂实习生面试常问的一道算法题,LeetCode11 题目解析
  2. 建议三连,数据分析师的年终述职报告,留给你的年终报告吧
  3. Oracle SQL Developer语言设置
  4. 99% 的人都能看懂的「补偿」以及最佳实践
  5. Redis数据持久化机制AOF原理分析一---转
  6. Python基础知识(第三天)
  7. memcached 常用命令及使用说明
  8. 京东DNN Lab首席科学家:用深度学习搞定80%的客服工作
  9. Cluster 注册表操作方法
  10. 十、【栈和队列】队列