如果每个进程必须是一个容器,如何使用Docker部署一个完整的(web)应用程序?

我试图了解Docker应该如何使用。

目前还不清楚我是否应该将所有需要的东西放在一个Docker文件中。 我已经读过一些人说,目前最好的做法是每个进程有一个容器,例如:web服务器,数据库和语言解释器将会制造3个容器。

但是,我如何将所有这些容器包装在一起呢? 这个责任属于Docker,还是我必须使用别的东西? 要开始我可以写一个简单的bash脚本来安装我需要的所有容器。 这是要走的路吗?

另一个问题(也许我应该为此打开一个单独的线程):最常见的做法是什么? 要使用“docker push”的默认服务器,还是要自己托pipe?

首先你的第二个问题。 使用私有存储库的一个很好的理由是,如果你的图像是,那么…私人。 我想最常见的做法是没有私人存储库的人使用公共索引,只是因为它很容易。 如果你想开源的东西,一定要使用公共索引。 但是如果你有一个私人项目,那就是开始一个私人索引的时候了。

关于你的第一个问题。 我认为你正在走正确的道路。 是的,使用Docker来build立一个关注点分离是合乎逻辑的,通过在您的设置中为尽可能多的UML块设置一个容器。 由于docker是如此高效,这是可能的。 这确保您可以稍后在不同的主机上部署容器,即使您最初可能不需要这些容器。 实际上,这些容器之间的通信不是docker的职责,虽然它提供了链接(但链接不过是设置了一些环境variables,你可以用其他方式来完成)。 我:我会用你提到的bash脚本方法。 包装在一起的容器不是docker的责任。

祝你好运。