Docker撰写依赖关系
答
这种应用程序级服务检查在docker-compose
中不可用。您需要在Docker镜像中实现必要的逻辑。
举例来说,如果你有一些依赖于Web服务,你可以有你的CMD
运行一个脚本,它是这样的:
while ! curl -sf http://servicehost:8080/; do
sleep 1
done
exec myprogram
另一种选择是设置的always
重启政策上的容器,并且如果目标服务不可用,它们会失败。 Docker将继续重启你的容器,直到它继续运行。
Docker 1.12引入了[HEALTHCHECK](https://docs.docker.com/engine/reference/builder/#/healthcheck),但是缺少的部分是'docker-compose'需要知道它并开始下一步当健康检查通过时提供服务。有一个可能需要检查的问题:https://github.com/docker/compose/issues/374 – huygn