网站首页 > 技术文章 正文
这是我的第313篇原创文章。
一、引言
Docker 对于程序员来说,其实和Git差不多,基本上属于一个必备工具。如果你想使用这个工具,你就必须安装这个应用工具,至于在不同操作系统上安装Docker的方式网上有很多教程,这里不做赘述。
- 安装docker
- 若想在本地windows环境运行,就得在windows中安装docker,分为桌面版和内核版
- 若想在远程服务器Linux环境运行镜像,就得在Linux中安装docker,分为桌面版和内核版
我在E盘有一个名为docker-test的python项目,docker-test就是这个项目的根文件夹:
docker-test文件下有一个app包,包下面有一个python脚本hello.py,接下来简要说明如何将这个项目使用docker进行部署,运行这个项目(这里就是运行这个脚本)。
这个脚本实现的功能是一个请求百度官网并打印出请求内容。
二、使用Docker部署应用(Windows环境)
2.1 生成requirement.txt
项目应用程序中需要依赖一些Python库,为了方便在docker上进行安装,所以将需要的库整合到requirement.txt中。
在终端中进入到项目目录下,执行下面的命令,生成requirement.txt
pip freeze > requirements.txt
或者安装pipreqs,pip install pipreqs,执行pipreqs .,在docker-test文件下后会生成一个requirements.txt文件
2.2 创建Dockerfile
在docker-test文件夹下新建一个Dockerfile文件,与app文件夹同级,然后编辑Dockerfile文件:
FROM python:3.9.6 # 设置基于的python基础镜像
ADD . E:/docker-test # 将代码程序添加到E:/docker-test文件夹
WORKDIR E:/docker-test # 设置E:/docker-test文件夹是docker工作目录
RUN pip install -r requirements.txt # 安装程序依赖包
CMD ["python", "app/hello.py"] # 执行python项目主程序
2.3 创建镜像
如果要部署到其他服务器,可以先将项目(docker-test文件夹)上传到服务器,然后创建镜像:
docker build -t imagename Dockerfilepath
# docker build -t demo_f:v0 .
默认情况下,Docker镜像存储在Docker引擎的默认存储位置。在Windows上,它通常位于C:\ProgramData\Docker\windowsfilter目录下。在这个目录中,你可以找到以哈希值命名的文件夹,每个文件夹对应一个镜像。在Windows上,如果你使用的是Docker Desktop(Docker for Windows),默认情况下,镜像存储在WSL 2的虚拟机文件系统中。
命令运行之后本地就会生成一个镜像,在docker desktop里面就可以看到:
内核版需要命令查看:
docker images
接下来可以将上传到服务器,在服务器运行镜像即可;也可以将镜像上传到docker hub,进行拉取镜像,修改镜像等操作
2.4 启动容器
启动容器就是运行镜像,也就是运行项目的主程序
桌面版本直接点击运行:
内核版需要敲命令行:
docker run demo_f:v0
本文详细讲解了python程序部署到docker,一步一截图,超级详细,不会的小伙伴,自觉动手练习!!!!
作者简介: 读研期间发表6篇SCI数据算法相关论文,目前在某研究院从事数据算法相关研究工作,结合自身科研实践经历持续分享关于Python、数据分析、特征工程、机器学习、深度学习、人工智能系列基础知识与案例。关注gzh:数据杂坛,获取数据和源码学习更多内容。
猜你喜欢
- 2025-06-02 零基础Python带你构建Web应用
- 2025-06-02 六种程序设计语言的循环及循环嵌套之比较(周兴富)
- 2025-06-02 AI超助:打造第一个Python应用(III)
- 2025-06-02 阿里云推出首个AI程序员,分钟级即可完成应用开发
- 2025-06-02 Python 中的asyncio 编程入门示例-1
- 2025-06-02 无需安装python程序,推荐6个靠谱网站在线学习编写python代码
- 2025-06-02 Python初体验,第一个Python程序
- 2025-06-02 Python开发微信小程序指南
- 2025-06-02 Python小白逆袭!7天吃透PyQt6,独立开发超酷桌面应用
- 2025-06-02 掌握5 个 Python关键程序,编写更清晰、更高效的代码
- 06-22Python开发工程师必会的3个设计模式(工厂、单例、适配器)
- 06-22创建型设计模式——工厂模式和抽象工厂模式
- 06-221. 工厂模式详解
- 06-22工厂模式详解
- 06-22设计模式问题:说一说简单工厂模式?
- 06-22深入设计模式:工厂方法
- 06-22C++设计模式——简单工厂模式
- 06-22什么是工厂模式?工厂模式有哪些类型?如何使用它们?
- 最近发表
- 标签列表
-
- axure 注册码 (25)
- exploit db (21)
- mutex_lock (30)
- oracleclient (27)
- think in java (14)
- javascript权威指南 (19)
- nfs (25)
- componentart (17)
- yii框架 (14)
- springbatch (28)
- oracle数据库备份 (25)
- iptables (21)
- 自动化单元测试 (18)
- mvc模式 (13)
- python编写软件 (14)
- dir (26)
- connectionstring属性尚未初始化 (23)
- output (32)
- panel滚动条 (28)
- centos 5 4 (23)
- sql学习 (33)
- dfn (14)
- http error 503 (21)
- pop3服务器 (18)
- 图表组件 (17)