【问题标题】:Docker data-only container on AWS ECSAWS ECS 上的 Docker 纯数据容器
【发布时间】:2017-05-04 04:48:58
【问题描述】:

我有 4 个 docker 容器,其中 2 个继续运行 - nginx 和 hhvm。但此外,我还有 2 个不会永久运行的纯数据容器。除非您尝试将它们转发到 AWS ECS,否则这非常有效。

09c4fc12-b63a-48a9-baba-ebcb67191cf0/data   STOPPED ExitCode: 0         ecscompose-docker:9
09c4fc12-b63a-48a9-baba-ebcb67191cf0/hhvm   STOPPED                     ecscompose-docker:9
09c4fc12-b63a-48a9-baba-ebcb67191cf0/nginx  STOPPED                     ecscompose-docker:9
09c4fc12-b63a-48a9-baba-ebcb67191cf0/data2  STOPPED ExitCode: 0         ecscompose-docker:9

一般来说,纯数据容器只需要存在,但不必继续运行。所以我不确定现在要面对什么。保持容器运行只是一个修补程序,而不是解决方案。

由于纯数据容器不是最佳解决方案,因为在部署它时它被视为垃圾 - 我考虑使用其他一些可以引用的持久性存储。但我不确定。

【问题讨论】:

    标签: amazon-web-services docker amazon-ecs


    【解决方案1】:

    这有点骇人听闻,但 AWS 技术人员建议我将其放在 Dockerfile 的底部:

    CMD ["/bin/sh", "-c", "while true; do sleep 1; done"]
    

    这将使您的纯数据卷容器保持运行,以便 ECS 满意。

    【讨论】:

      【解决方案2】:

      我假设数据容器格式化数据并生成由其他容器使用的输出。

      如果已在数据和其他容器之间定义了 docker 链接,则必须同时运行这两个容器。

      如果数据容器只是临时的,我建议为数据容器定义一个 docker 数据卷并将数据写入该卷。

      数据卷由引擎守护程序主机的目录支持,然后可以将同一位置作为卷加载到其他容器中,这些容器可以使用该位置可用的数据。

      在定义卷时,请确保您可以根据容器功能分配适当的 RW 权限。

      【讨论】:

        猜你喜欢
        • 2017-02-17
        • 2017-08-15
        • 2020-11-15
        • 2020-02-19
        • 1970-01-01
        • 1970-01-01
        • 2016-12-26
        • 2021-08-29
        • 1970-01-01
        相关资源
        最近更新 更多