Docker卷偶尔安装太晚,无法与其他容器共享文件

问题描述 投票:1回答:1

我在ECS上运行了两个容器。一个容器是一个应用程序,它通过docker卷将配置文件共享到第二个容器,该容器是Sumologic文件收集器,它是一个通用的日志记录容器。

我遇到的问题是每隔一段时间记录容器就会出现错误Cannot find file /path/to/logging/file.json。这种情况发生的唯一原因是如果卷是空的,那么app容器没有按时将配置文件放入卷中。

在第二个容器尝试读取文件之前,如何让应用程序容器将文件放入卷中?

docker amazon-ecs docker-volume sumologic
1个回答
1
投票

截至2019年3月,有一个新的ECS功能可以解决这个问题。目标是确保日志容器在应用程序容器启动之前不会启动(这意味着应用程序容器已成功将其文件装入卷中)。

这样做的方法是在任务定义中使用dependsOn。例如如果你想在容器foo启动后才启动容器,你可以这样做

"dependsOn": [
   {
       "containerName": "foo",
       "condition": "START"
   }
]

进一步阅读:

© www.soinside.com 2019 - 2024. All rights reserved.