【Python程序开发系列】使用Docker部署一个简单的Python应用程序

liftword13小时前技术文章1

这是我的第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:数据杂坛,获取数据和源码学习更多内容。

原文链接:
【Python程序开发系列】教你使用Docker部署一个简单的Python应用程序(案例+源码)

相关文章

2020最全Python项目实战开发案例(附项目)

本书不仅会带您畅游于Python开发的精彩世界,启迪编程思维,更能让您领略Python迷人的开发魅力!项目获取方式:1,关注我2,私信回复【项目】即可获取速度要快,姿势要帅!...

值得学习练手的70个Python项目(附代码),太实用了

Python丰富的开发生态是它的一大优势,各种第三方库、框架和代码,都是前人造好的“轮子”,能够完成很多操作,让你的开发事半功倍。下面就给大家介绍70个通过Python构建的项目,以此来学习Pytho...

六个优质开源项目,让你更了解Django框架开发

Django 是一个开源的 Web 应用框架,由 Python 写成。采用了 MTV 的框架模式,即模型 M,视图 V 和模版 T。它最初是被用来开发 CMS 软件的,所以 Django 很适合用来搭...

自动化文档生成与管理:提升 Python 项目开发效率的秘密武器

项目文档是软件开发过程中的一个重要环节。良好的文档能够帮助团队成员理解代码,减少沟通成本,也能帮助未来的开发者快速上手。Python项目文档的生成可以使用多种工具和方法,其中 Sphinx 是一个非常...

Python项目开发案例集锦!神仙级python 入门教程(非常详细)

最近咱们一直在整理Python相关内容,小伙伴们反映也不错,也都领取了相应学习资料,真的希望能够帮到大家学习。介绍《Python 项目开发案例集锦》 一书从入门学习者的角度出发,开发了 8 个开发方向...

想要开发更好的Python项目,代码质量是关键

Hi!我是W3Cschool编程狮的小狮妹!当我们谈论编程,代码质量是一个至关重要的因素。无论你是一位新手还是经验丰富的开发者,都知道写出高质量的代码不仅可以提高程序的可维护性,还可以减少错误和问题的...