小白程序员面临的最大困难之一就是理解环境的概念。环境是指程序员进行编码的系统,这听起来貌似很容易,但随着程序员职业生涯的推荐,程序员会逐渐体会到维护“环境”是一件多么困难的事情。
这主要是因为库、ide(集成开发环境),甚至python代码都需要经过更新和版本升级。有时更新一个库,某段代码就会出错,需要重新修改代码。如果同时开发多个项目,就会引起依赖冲突,当某段代码导致另一段代码错误时,事情就会变得很棘手了。
另外,如果想将项目共享给一个在不同操作系统上的工作伙伴,或者将在mac上构建的项目交付到另一个操作系统的生产服务器上,就不得不重新配置代码了。
为了解决这些问题,将项目和项目所处的环境分离的方法被称为“容器”。容器是支持环境运行的地方,与系统上的其他内容东西相分离。一旦定义了容器中的内容,重建环境就很容易了,甚至可以实现与同事共享项目。
要求
启动docker,需要安装软件:
windows或macos:安装docker desktop
linux:安装docker,然后编写docker
python服务包
假设正在创建一个名为server.py的flask服务,并设置该文件的内容,如下:
如上述,需保留代码依赖关系的记录。因此创建一个关于需求的txt文件,包含以下内容:
flask==1.1.1
因此,服务包有以下结构:
该结构十分符合逻辑(源文件保存在独立目录中)。若执行python程序,我们需要安装并运行python解释器。接下来可以在本地运行这个程序,如果有15个项目同时运行,在一个容器中运行可以避免与其他项目发生冲突。
dockerfile
运行python代码,需要将容器打包为docker镜像,然后运行。操作如下:
创建一个包含构建镜像所需指令的dockerfile
然后通过docker生成器创建镜像
简单的docker run 命令就可以创建一个正在运行应用程序的容器
dockerfile分析
dockerfile是一个包含合成docker镜像说明的文件(命名为myimage):
dockerfile是逐行编译的,因此生成器会生成一个图层,并将其叠加在之前的图像上。在build命令的输出中,可以看到作为步骤执行的dockerfile指令。
然后可以发现镜像存储在本地图像中:
在开发过程中,可能需要多次为python服务重新构建镜像,所以希望花费尽可能少的时间。
docker和virtualenv非常相似,但又有所不同。virtualenv允许你在python依赖关系中切换,但必须使用主机操作系统。然而,使用docker就可以在任何操作系统上安装和运行python(包括ubuntu、debian、alpine以及windows server core)。
因此,如果你在一个团队中工作,希望可以在以后证明你的技术,就要使用docker。如果不用docker,venv也是不错的,但它不是通向未来的凭证。
本文展示了如何创建python服务包,并希望简化过程,使程序员的项目维持更长时间。因为当依赖关系发生变化时,它不太可能出现代码错误。
责编ajx
高效无线功率传输放大器拓扑分析
MWC上英特尔5G之江湖地位
了解稳压器的工作原理
智能手机市场达到饱和 华为小米趁势追击
大屏无缝拼接系统设备之-屏幕选购指南
如何创建Python服务包,并利用Docker管理数据(附源码)
景旺电子荣获vivo2021年优秀质量奖
门禁控制器参数
关于霍尼韦尔医疗解决方案的介绍
集成波导与LCD屏的3D打印镜片的开发集成哪些了专利技术?
小米6不断曝光,或3月发布将会是这样
板对板连接器的日常操作和维护
RT-Thread开发者大会|社区杰出生态合伙伙伴
未来智能音箱会成为我们生活中的刚需吗
寒武纪国内首款云端智能芯片有何用途?
DAP批量生产三星Galaxy S11系列电路板,2020年利润有望回升
有了这些创新!iPhone 8能否力压S8一筹?
手机要不要强制gpu渲染_强制gpu渲染能省电吗_长期开着强制gpu渲染影响及利弊分析
人工智能和大数据有怎样的隐患
ams一流读取IC家族推出了新产品--AS585xB系列