对Python开发人员的Docker轻柔介绍

了解Docker如何帮助Python开发人员创建孤立的,一致的环境,从而简化从开发到部署的所有内容。

来源:KDnuggets
作者的图像|意识形态图

#简介

您只是将Python应用程序推入生产,突然一切都破裂了。该应用程序在笔记本电脑上完美工作,通过了CI中的所有测试,但是现在它在生产中引发了神秘的进口错误。听起来很熟悉吗?或者,也许您正在登上一个新开发人员,他们花了三天的时间试图让您的项目在本地运行。它们在Windows上,您在Mac上开发,生产服务器运行Ubuntu,并且以某种方式每个人都有不同的Python版本和相互冲突的软件包安装。

我们都去过那里,疯狂地调试了特定环境的问题,而不是构建功能。 Docker通过将您的整个应用程序环境包装到一个无处不在的容器中来解决此混乱。没有更多的“在我的机器上使用”借口。周末不再需要调试部署问题。本文向您介绍Docker,以及如何使用Docker简化应用程序开发。您还将学习如何使用Docker容器化一个简单的Python应用程序。

docker

🔗链接github上的代码

链接到GitHub上的代码

#Docker的工作方式以及为什么需要它

认为Docker类似于运输容器,但对于您的代码。当您将Python应用程序容器化时,您不仅仅是包装代码。您正在包装整个运行时环境:特定的Python版本,您的所有依赖项,系统库,环境变量,甚至您的应用程序期望的操作系统。

结果?您的应用程序在笔记本电脑,同事的Windows机器,登台服务器和生产上以相同的方式运行。每次。但是你怎么做?

好吧,当您使用Docker容器将Python应用程序化时,您会执行以下操作。您将应用程序包装到一个称为“图像”的便携式工件中。然后,您启动“容器” - 运行图像实例 - 并在容器化的环境中运行应用程序。

#构建Python Web API

fastapi uvicorn pydantic

现在让我们创建基本的应用结构: