是否将Docker映像的更改自动传输到部署的容器?

据我所知,有一个托pipe应用程序的图像(容器)的Docker服务器。 然后,我可以将这些图像部署到我想要的任何基础设施,无论是本地还是云。 我对吗?

假设这个图

http://i64.tinypic.com/ldsvd.png

如果我修改了应用程序,只需在Docker Server中修改它们就足够了,然后这些更改将被自动传输到部署的容器中。 还是我需要修改每个实例?

泊坞窗图像可以比作一个类。

泊坞窗容器相当于一个对象。

容器是图像的一个实例。

您可以从同一图像运行20个容器。 所有20个容器都是相同的(尽pipe你可以将环境variables传递给每个容器来修改行为)。

一个图像包含服务(例如一个networking服务器 – NGINX)

图像包含文件(例如,NGINX将提供的HTML文件)

让我们把这个图片叫做XXX

然后,您可以从图像XXX运行一个容器,它将在容器内真正启动NGINX – 将容器想象成虚拟机。

关于图像的奇妙之处在于,它们可以被拉和推动和标记(类似于git拉和推)。

所以现在我可以将图像推送到docker集线器,然后从任何地方拉取该图像,然后从该图像运行容器。

现在,我部署我的Web应用程序是非常快速的。 我只是docker拉它,运行一个容器和工作完成。 必须安装在我部署的服务器上的唯一依赖项是docker本身,不需要其他东西。

我可以制作多个图像。 例如,我可能有一个前端图像和后端图像。 我可以为这两个图像站起来一个容器,容器可以相互交谈。 这使我能够分开关注。 前端代码和相关软件位于一个容器中,后端代码和相关软件位于另一个容器中。

我可能希望在不同的服务器上运行多个前端容器,然后站起来负载均衡器将stream量引导到这些容器。 我甚至可以把负载平衡器放在一个容器中! 这对缩放非常有用,只要确保你的前端容器是无状态的:)

希望有所帮助。

请注意,如果您使用多个容器,请考虑在docker上使用docker-compose。 Docker组合基本上只是一个YAML文件,它与命令行参数具有相同的参数。

然而,Docker撰写提供了一些不错的function,如docker-compose日志,允许您查看所有容器的日志。