Docker - 应用程序源代码更新

Docker - Application source code updates

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

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

最可行的解决方案是将源代码保留在我的应用程序之外。然后我可以保留机器 运行 并使用 GIT.

更新源代码

机器将像这样创建:

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

这意味着如果我从本地服务器控制机器,但基础设施在 EC2 上,每次打开网站时,文件都会通过 Internet 拉取。

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

其实是should be copied with COPY, not ADD,为了限制缓存失效。

Most viable solution would be to keep the source code outside of my application.

是的,但不是通过远程源(一个 git 服务器)引用它,你可以有一个 webhook (like a GitHub one),在每次推送到那个 git 服务器时,从上述回购中提取并在本地保留一份 up-to-date 源副本。

然后将该本地存储库挂载为映像中的一个卷。