Docker – 应用程序源代码更新

现在我知道你的应用程序的源代码应该使用ADD复制到Docker容器中。

这似乎是一个好主意,但是如果我希望能够更新我的应用程序源代码 – 一天两次,甚至更频繁呢?

最可行的解决scheme是将源代码保存在我的应用程序之外。 然后我可以保持机器运行,只需使用GIT更新源代码。

机器将被创build像这样:

docker run -p 80:80 -v /home/adam/projects/docker-test/src:/var/www/html webserver

这意味着如果我从onprem服务器控制机器,但基础设施是在EC2上,每次打开网站时,文件都会被拉到互联网上。

什么是这个问题的最佳解决scheme? 我能否继续使用更新的源代码重新部署一个容器,但不停机?

实际上,它应该复制COPY ,而不是ADD ,以限制caching失效。

最可行的解决scheme是将源代码保存在我的应用程序之外。

是的,但不是通过一个远程源(一个git服务器)引用它,你可以有一个webhook (像GitHub之一 ),每次推到该git服务器,从所述回购拉,并保持最新的,最新的本地副本。

然后将该本地回购作为一个卷挂载到您的映像中。