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 源副本。
然后将该本地存储库挂载为映像中的一个卷。
我现在知道您的应用程序的源代码应该使用 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 源副本。
然后将该本地存储库挂载为映像中的一个卷。