新来的Docker – 如何基本上做一个可复制的设置?

我的目标是使用Docker创build运行postfix + dovecot的邮件设置,完全configuration并准备就绪(在Ubuntu 14.04上),所以我可以轻松部署到多台服务器上。 就我所了解的Docker而言,执行此操作的过程是:

  1. 旋转一个新的容器( docker run -it ubuntu bash )。
  2. 安装和configurationpostfix和dovecot。
  3. 如果我需要closures并rest一下,我可以通过docker start <id>然后通过docker attach <id>退出shell并返回到容器。

(这里是事情变得模糊的地方)

在这一点上,将图像导出到一个文件,在另一台服务器上导入并运行它会更好吗? 如何确保容器在运行后自动启动postfix,dovecot和其他服务? 我也不太了解使用Dockerfile来自动安装的区别,只是手动安装和导出图像。

  1. 使用Dockerfileconfiguration多个Docker镜像

    每个docker集装箱只能运行一个服务。 所以,一个容器为后缀,一个为另一个服务等。你可以让你的运行容器相互沟通

  2. build立这些图像

  3. 将这些图像推送到registry,以便您可以轻松地将它们拉到不同的服务器上,并具有相同的设置。

  4. 将这些图像拉到不同的服务器上。 您可以在启动容器来configuration它时传递ENVvariables。

您不应该直接在正在运行的容器中安装某些东西。 这打破了与Docker的可重复安装的阴霾。

你的第二步应该是一个DockerfileRUN条目,然后用来运行Dockerfile docker build来创build一个映像。
这个图像可以用来根据需要启动和停止运行容器。 请参阅Dockerfile RUN条目文档。 这通常与apt-get install一起使用来安装所需的组件。

ENTRYPOINT中的ENTRYPOINT应设置为启动您的服务。 一般来说,build议每个图像只有一个进程。