Docker和Django - 保持一切最新和安全



我是Docker的新手,开始了解整个过程的工作原理。我的最终目标是将我的Django项目(目前正在本地运行(部署到Google Code Run或类似的服务中,但还有一段路要走。

事实上,多亏了这本书,我已经在Mac上的Docker容器中运行了我的项目,这太棒了。

我的Dockerfile从开始

FROM python:3.8

并且包含

COPY Pipfile Pipfile.lock /code/
RUN pip install pipenv && pipenv install --system

因此,每次我构建容器时,我想Linux、Python、Django和我正在使用的其他包都会自动包含可用的更新(除非我另有声明,例如我的Pipfile中的包(。

这个想法是在本地开发应用程序,并在我的Mac上使用Docker测试所有内容。当谈到更新时,我必须检查一切是否仍然一致。如果本地一切正常,我(稍后(可以将容器部署到其他地方,一切都应该正常。

我基本上是对的还是错过了重要的事情?

需要跟踪的一件重要事情是,基础图像(ubuntu:18.04python:3.8等(偶尔会得到更新。您需要确保docker pull是基本映像,以获得这些更新;如果不这样做,那么您将在现有的旧基础映像之上构建一个新的应用程序映像。docker build有一个--pull选项,可以自动执行此操作。

还要记住,Pipfile.lock中有非常特定的包版本,因此您需要定期更新它以获得依赖关系(例如,使用pipenv update(。

总体策略是在本地开发Python应用程序,使用标准的打包工具,然后围绕它构建图像,这通常是一种很好的方法。

相关内容

  • 没有找到相关文章

最新更新