我已经使用Ansible在EC2中安装并配置了一个系统。它是1个EC2主服务器,带有几个EC2工人。有时,当我使用ansible更新或重新安装配置时,它失败了,因为某个软件包已从开源存储库中删除,或者该软件包已更新,因此与其他某些软件包不兼容。我了解到,使用docker-container可以解决此类配置问题。
但是,据我了解,每个docker映像都会创建一个应用程序的映像(我猜一个应用程序意味着一个进程)。但是我的系统具有气流主Web服务器,气流工作Web服务器,花卉Web服务器,rabbitmq,气流芹菜,多个配置文件等。如何为它创建docker映像?我应该为每个进程创建一个docker镜像吗?我怎么知道我应该去哪个linux文件夹来创建每个docker镜像?我如何知道需要创建哪些应用程序/进程?以及如何组合这些图像以使它们作为系统一起工作?
或者就我而言,我不应该使用docker映像,而是应该创建一个EC2映像?
答案 0 :(得分:1)
使用docker-compose。
Compose是用于定义和运行多容器Docker应用程序的工具
https://docs.docker.com/compose/
每个docker映像将创建一个应用程序的映像(我猜一个应用程序意味着一个进程)
基本上是正确的。您应该为每个应用程序创建一个docker-container。理论上,每个容器可以有多个进程,但是在这种情况下并不重要。
如何为此创建docker映像?
在这种情况下,您应该为气流主Web服务器制作一个docker-container,为气流工作人员Web服务器制作一个docker-container,为花卉web服务器制作一个,等等。然后您使用docker-compose.yml将它们链接在一起。
我应该为每个进程创建一个docker镜像吗?
通常是。 (不过,这可能取决于您的确切设置)
以及如何组合这些图像以使它们作为系统一起工作?
docker-compose。
我如何知道应该去哪个linux文件夹来创建每个docker镜像?
我不明白这个问题
我如何知道需要创建哪些应用程序/进程?
您可以创建一个部署图,然后从那里开始。