Docker数据只在AWS ECS上的容器

我有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 

一般来说,只有数据的容器只能存在,但不必保持运行。 所以我不知道现在该怎么面对。 保持容器运行只是一个修补程序,而不是解决scheme。

因为只有数据的容器并不是最好的解决scheme,因为它在部署时被当作垃圾处理 – 我想过使用一些其他可以被引用的持久性存储。 但我不确定这一点。

这是一种哈克,但一个AWS技术build议我把这个在我的Dockerfile的底部:

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

这将保持您的仅数据卷容器运行,以便ECS会很高兴。

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

如果在数据和其他容器之间定义了泊坞窗链接,则必须运行这两个容器。

如果数据容器只是临时的,我会build议为数据容器定义泊坞窗数据卷并将数据写入卷。

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

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