是否可以根据单独的HTTP服务的可用性推迟容器的启动。例如,如果端口8080正在运行,则仅启动容器?
答案 0 :(得分:1)
docker-compose
中没有这种应用级服务检查。您需要在docker镜像中实现必要的逻辑。
例如,如果您拥有依赖于Web服务的内容,则可以让CMD
运行一个类似以下内容的脚本:
while ! curl -sf http://servicehost:8080/; do
sleep 1
done
exec myprogram
另一种选择是在容器上设置always
的重新启动策略,如果目标服务不可用,则使它们失败。 Docker将继续重启容器,直到它继续运行。