1

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

我遇到的问题是日志容器每隔一段时间就会出错Cannot find file /path/to/logging/file.json。发生这种情况的唯一原因是卷是空的,因此应用程序容器没有及时将配置文件放入卷中。

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

4

1 回答 1

1

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

你这样做的方式是在你的任务定义中使用dependsOn。例如,如果您希望容器仅在容器 foo 启动后启动,您可以

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

进一步阅读:

于 2019-05-01T17:07:34.220 回答