我的目标是使用Docker创建运行postfix + dovecot的邮件设置,完全配置并准备就绪(在Ubuntu 14.04上),这样我就可以轻松部署在多个服务器上。据我了解Docker,执行此操作的过程是:
docker run -it ubuntu bash
)。docker start <id>
然后docker attach <id>
返回容器。(这里的事情对我来说很模糊)
此时,将图像导出到文件,在其他服务器上导入并运行它会更好吗?如何确保容器在运行时自动启动postfix,dovecot和其他服务?我也不太了解使用Dockerfile自动安装与仅手动安装和导出图像之间的区别。
答案 0 :(得分:1)
使用 Dockerfile s配置多个泊坞窗图像
每个docker容器应该只运行一个服务。所以一个用于postfix的容器,一个用于另一个服务等。你可以让你的运行容器相互通信
构建这些图片
将这些图像推送到注册表,以便您可以轻松地将它们拉到不同的服务器上并进行相同的设置。
将这些图像拉到不同的服务器上。 启动容器进行配置时,可以传递ENV变量。
您不应直接在正在运行的容器中安装内容。 这打败了使用Docker进行可重现设置的目的。
答案 1 :(得分:1)
您的第2步应该是RUN
内的Dockerfile
条目,然后用于运行docker build
来创建图像。
然后可以根据需要使用此图像来启动和停止运行容器。
请参阅Dockerfile RUN entry文档。这通常与apt-get install
一起使用来安装所需的组件。
Dockerfile中的ENTRYPOINT
应设置为启动您的服务。
通常,建议每张图像只有一个过程。