Docker撰写依赖关系

时间:2016-07-28 21:01:38

标签: docker docker-compose

是否可以根据单独的HTTP服务的可用性推迟容器的启动。例如,如果端口8080正在运行,则仅启动容器?

1 个答案:

答案 0 :(得分:1)

docker-compose中没有这种应用级服务检查。您需要在docker镜像中实现必要的逻辑。

例如,如果您拥有依赖于Web服务的内容,则可以让CMD运行一个类似以下内容的脚本:

while ! curl -sf http://servicehost:8080/; do
    sleep 1
done

exec myprogram

另一种选择是在容器上设置always的重新启动策略,如果目标服务不可用,则使它们失败。 Docker将继续重启容器,直到它继续运行。