更新docker容器中的代码

我已经build立了一个docker django容器,并在这里使用build来构build它的图像。 本教程演示了如何创build一个基本的django应用程序,并将应用程序挂载到“/ code” ,据我所知,它包含在一个数据卷中。

不过,我想了解,我将如何能够更新和开发此代码,并能够出货/部署它。 由于当我提交时,它不会考虑代码中的任何更改,因为它是数据卷的一部分。

有没有什么办法可以使django代码成为图像的一部分,或者用更新的代码更新图像?

当你想更新一个图像,可以说由于你的应用程序代码的变化,你在图像生成过程中使用COPY ,所以在Dockerfile你做了类似

 COPY /you/code/on/the/host /var/www 

另请参阅我有关“卷”和图像构build的答案,以阐明为什么代码在构build中缺失

在本教程的第9步中,您设置了一个音量。 该卷将链接您的当前目录和您的容器/code目录。 换句话说,他们将是一样的。

因此,对本地文件的任何更新都会更改容器中的文件。 请记住,您将需要重新启动您的应用程序,以便更改可以发生。

在部署图像之前,您需要创build第二个Docker撰写文件。 这个文件将删除音量,所以代码将保留在容器内,不会从外部改变。 您可以按照docker撰写文档中提供的步骤进行操作。