网站首页 > 技术文章 正文
这是我的第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-07-03 从零开始学python爬虫(七):selenium自动化测试框架的介绍
- 2025-07-03 二十七、Python嵌套函数-装饰器模式实现原理
- 2025-07-03 在ubuntu环境下部署svn可视化管理工具iF.SVNAdmin详细教程
- 2025-07-03 Python ROS2 部署 兼容ROS1(ros publisher python)
- 2025-07-03 Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
- 2025-07-03 【Python大语言模型系列】阿里云人工智能平台部署ChatGLM2-6B
- 2025-07-03 干货 | 一步步部署 Flask 应用(flask部署到服务器)
- 2025-07-03 如何使用 PyTriton 在 Python 中部署 AI 模型
- 2025-07-03 如何将Python算法模型注册成Spark UDF函数实现全景模型部署
- 2025-07-03 简直不要太简单!用宝塔面板轻松部署 Python Web 应用
- 274℃Python短文,Python中的嵌套条件语句(六)
- 272℃python笔记:for循环嵌套。end=""的作用,图形打印
- 270℃PythonNet:实现Python与.Net代码相互调用!
- 265℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 265℃Python实现字符串小写转大写并写入文件
- 124℃原来2025是完美的平方年,一起探索六种平方的算吧
- 105℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 104℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
-
- Python错误:IndentationError (缩进错误)
- 字符串对齐的常用方法(对字符串的常用处理方法)
- Python轻松实现markdown转网页,完美支持mermaid图表、latex公式
- Python循环语句(python循环语句分为哪两种)
- 编程小白学做题:Python 的经典编程题及详解,附代码和注释(六)
- Python入门到脱坑经典案—数字金字塔
- Python输出语句print()(python语句print(type(1j))的输出结果)
- Python入门到脱坑经典案例—九九乘法表
- Python格式化:让数据输出更优雅(Python格式化输出代码)
- 一节课的时间快速掌握Python基础知识
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)