一种微服务停留在一个docker容器中。现在,假设我要升级微服务-例如,某些配置已更改,而我需要重新运行它。
我有两个选择:
解决方案2对我来说似乎更可靠。没有“更新”过程,只有单个容器创建。
但是,如果重新创建图像有一些不良影响,我会感到困扰吗?像很多悬空的图像或类似的东西。想象一下,这可能在用户使用该应用程序的过程中经常发生-例如,如果开发人员正在尝试某些东西,他想使用不同配置的微服务,那么他将经常重新启动它。但是,一旦配置完成,就不会改变。另外,当我说配置时,我不仅指配置文件,还指用户代码等。
最佳答案
对于生产更改,您将需要部署新镜像以对文件进行更改。这样可以确保您的过程是可重复的。
但是,每次编写新的代码行时都要通过制作新图像进行开发将是一场噩梦。最好的选择是运行docker容器并将容器的源目录安装到文件系统。这样,当您在编辑器中进行更改时,容器中的代码也会更新。
您可以这样实现:docker run -v /Users/me/myapp:/src myapp_image
这样,您只需构建一次myapp_image
即可,此后可以轻松进行更改。
现在,如果您有一个尚未挂载的正在运行的容器,并且想要对文件进行更改,那么您也可以这样做。不推荐这样做,但是很容易看出为什么要这么做。
如果您运行:docker exec -it <my-container-id> bash
这将把您放入容器,您可以在其中的同时在vim / nano / editor中进行更改。
关于docker - 重新创建Docker镜像而不是重复使用-用于微服务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34889229/