2021-01-22 使用 Docker 打包 Python 项目
使用 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
- –rm:表示关闭命令行窗口时,运行该镜像的进程会同时关闭;
- -p:用来设置端口映射,即把电脑主机的端口映射到 docker 容器中的端口,如何封装的是一个 web 服务,那么必须要设定端口映射;
- –name:用来为运行的镜像设置别名,方便后面的调用
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 项目相关推荐
- docker打包Python项目
docker打包Python项目 Step1: 配置运行环境文档 项目结构如下 docker_test ├── Dockerfile ├── (myapps) │ └── BPNN.py └── re ...
- 使用pyinstaller打包python_使用pyinstaller打包Python项目,python
00 前言 上一篇文章写的是使用百度aip实现一个图片转文字的小工具( https://blog.csdn.net/George_Clancy/article/details/105551872 ), ...
- Python训练营2021:构建8个真实世界的Python项目
时长:19h 27m |视频:. MP4,1280×720 30 fps |音频:AAC,44.1 kHz,2ch |大小:9.54 GB 语言:英语+中英文字幕 机译 从Python Web开发的初 ...
- docker 部署Python项目 以及dockerfile文件的编写
Dockerfile文件详解:https://www.cnblogs.com/panwenbin-logs/p/8007348.html Docker的基本使用(部署python项目): https: ...
- 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: ...
- Leetcode刷题 2021.01.22
Leetcode刷题 2021.01.22 Leetcode1042 不邻接植花 Leetcode1010 总持续时间可被 60 整除的歌曲 Leetcode1091 二进制矩阵中的最短路径 Leet ...
- 【Python】使用Docker部署Python项目
用Docker部署Python项目 0.源码目录 1.编写Dockerfile文件 2.Docker根据Dockerfile文件生成Docker镜像 3.将镜像运行在Docker容器中 众所周知,同一 ...
- 【新】使用setuptools打包Python项目
如何使用setuptools打包Python项目 如何使用setuptools打包Python项目 一.准备 二.项目结构 三.简单打包 3.1 文件内容 3.2 打包项目 3.3 安装测试 四.自定 ...
- Docker打包python镜像
Docker打包python镜像 下载依赖 pip download fastapi pip download uvicorn 准备requirements.txt文件 main.py脚本 from ...
最新文章
- NeurIPS 2020论文接收列表公布,智源研究院35篇入围
- 设计非常优秀的软件界面
- 面试必问:常用的加密算法有哪些?
- Spring管理事务的若干配置形式
- 使用 做签名的post_ASP.NET WebApi 基于分布式Session方式实现Token签名认证
- java keypad game,Take character and return the Keypad equivalant
- 小心 HttpClient 中的 FormUrlEncodeContent 的 bug
- /etc/shadow 文件详解
- java训练_Java练习
- 数据结构--树状数组
- php删除一张表数据的时候 把另一张表的数据也删除,剔除第一张表的数据时,修改第二张表的相关字段的数值...
- 配置环境JDK Tomcat Maven
- Windows破解笔记-windows API中的SendMessage
- 【JEECG-Mybatis版本】springmvc+mybatis+代码生成器(代码一键生成)
- Gprinter Android SDK V2.1.4 使用说明
- nacos 本地测试_本地调试和服务器调试都无法连通-问答-阿里云开发者社区-阿里云...
- 金山毒霸专业版高调上线 宣称杀毒速度增3倍
- Docker for Windows 中文文档(3)——Docker Settings
- pt-table-checksum
- 为什么开发移动端web不使用jQuery