Docker compose docker compose延迟容器构建和启动
我有两个容器按顺序运行 我使用dependens-on确保下一个仅在当前一个运行之后启动 我意识到其中一个容器还有一些cron任务要完成, 因此,下一个容器具有要导入的正确数据 在这种情况下,我不能仅仅依赖于参数 如何延迟下一个容器的启动?说等5分钟 docker compose示例:Docker compose docker compose延迟容器构建和启动,docker-compose,Docker Compose,我有两个容器按顺序运行 我使用dependens-on确保下一个仅在当前一个运行之后启动 我意识到其中一个容器还有一些cron任务要完成, 因此,下一个容器具有要导入的正确数据 在这种情况下,我不能仅仅依赖于参数 如何延迟下一个容器的启动?说等5分钟 docker compose示例: test1: networks: - test image: test1 ports: - "8115:8115" container_name: te
test1:
networks:
- test
image: test1
ports:
- "8115:8115"
container_name: test1
test2:
networks:
- test
image: test2
depends_on:
- test1
ports:
- "8160:8160"
您可以使用entrypoint脚本,类似于以下内容(需要安装netcat):
并通过服务中的指令(在docker compose文件中)或Dockerfile(CMD指令)执行它。我不寻找检查服务是否可用的方法。但计时器是预定义的。下一次服务启动时可用的服务现在不工作。因为服务可用,所以仍然需要完成几个cron作业,然后才能安全地启动下一个服务。
until nc -w 1 -z test1 8115; do
>&2 echo "Service is unavailable - sleeping"
sleep 1
done
sleep 2
>&2 echo "Service is up - executing command"