HEALTHCHECK:Dockerfile与docker-compose.yml

我们正在使用Docker Compose文件和Docker Swarm部署我们的服务。 我想知道是否将健康检查放在Dockerfile中或将它放在docker-compose.yml中是否有区别。

我觉得我已经阅读了所有可用的文档,但找不到任何东西。

泊坞窗,compose.yml

healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8081/ping"] interval: 30s timeout: 10s 

Dockerfile

 HEALTHCHECK --interval=30s --timeout=10s CMD curl -f http://localhost:8081/ping 

将健康状况检查添加到Dockerfile中,将会对图像进行健康检查,以便任何从registry中拉取图像的人都将默认进行健康状况检查。

撰写文件通常不如他们运行的实际docker图像共享。 dockercompose健康检查允许为不创build映像但是将其从远程registry中拔出的人员添加/重写健康检查图像。 这是更适合的情况下拉图像默认情况下没有健康检查。

在你的情况下,因为你正在创build图像,添加健康检查到dockerfile更有意义。