【问题标题】:How to create docker images for a system with multiple applications如何为具有多个应用程序的系统创建 docker 映像
【发布时间】:2020-04-06 03:28:09
【问题描述】:

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

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

或者在我的情况下,我不应该使用 docker 镜像,而应该只创建一个 EC2 镜像?

【问题讨论】:

    标签: docker amazon-ec2 ansible


    【解决方案1】:

    使用 docker-compose。

    Compose 是一个用于定义和运行多容器 Docker 应用程序的工具

    https://docs.docker.com/compose/

    每个 docker 镜像都会创建一个应用程序的镜像(我猜一个应用程序意味着一个进程)

    这基本上是正确的。您应该为每个应用程序创建一个 docker-container。理论上,每个容器可以有多个进程,但在这种情况下并不重要。

    如何为此创建 docker 图像?

    在您的情况下,您应该为气流主网络服务器制作一个 docker-container,为气流工作网络服务器制作一个,为花卉网络服务器制作一个,等等。然后您使用 docker-compose.yml 将它们链接在一起。

    我应该为每个进程创建一个 docker 映像吗?

    通常是的。 (这可能取决于您的确切设置)

    以及如何组合这些图像以使它们作为一个系统协同工作?

    码头工人撰写。

    我如何知道我应该去哪个 linux 文件夹来创建每个 docker 镜像?

    我不明白这个问题

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

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

    【讨论】:

    • 谢谢,我是 docker 初学者,我会阅读 docker-composer,然后我会得到以上所有问题的答案。
    • @user389955 请注意:docker + docker-compose 很难进入。您需要几周的时间才能获得第一个可用的结果。但这是值得的。
    • @watanii 我有这种感觉。但我听说它很受欢迎并且有用会尝试。
    猜你喜欢
    • 2021-10-30
    • 2021-01-24
    • 1970-01-01
    • 2016-08-21
    • 2017-05-27
    • 1970-01-01
    • 2019-07-28
    • 2019-08-06
    • 1970-01-01
    相关资源
    最近更新 更多