如何为具有多个应用程序的系统创建Docker映像

时间:2019-12-12 17:12:27

标签: docker amazon-ec2 ansible

我已经使用Ansible在EC2中安装并配置了一个系统。它是1个EC2主服务器,带有几个EC2工人。有时,当我使用ansible更新或重新安装配置时,它失败了,因为某个软件包已从开源存储库中删除,或者该软件包已更新,因此与其他某些软件包不兼容。我了解到,使用docker-container可以解决此类配置问题。

但是,据我了解,每个docker映像都会创建一个应用程序的映像(我猜一个应用程序意味着一个进程)。但是我的系统具有气流主Web服务器,气流工作Web服务器,花卉Web服务器,rabbitmq,气流芹菜,多个配置文件等。如何为它创建docker映像?我应该为每个进程创建一个docker镜像吗?我怎么知道我应该去哪个linux文件夹来创建每个docker镜像?我如何知道需要创建哪些应用程序/进程?以及如何组合这些图像以使它们作为系统一起工作?

或者就我而言,我不应该使用docker映像,而是应该创建一个EC2映像?

1 个答案:

答案 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镜像?

我不明白这个问题

  

我如何知道需要创建哪些应用程序/进程?

您可以创建一个部署图,然后从那里开始。