我有一个容器1,它需要一些时间才能旋转起来并准备就绪。
我有一个容器2,一旦容器1准备好就需要运行。
容器2如何在运行之前确保容器1已准备好?
这需要使用一个Cron作业来完成。
谢谢!
答案 0 :(得分:1)
您可以这样做:
PATH=:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
0 0 * * * docker ...¹; until docker ps | grep '<SOME SPECIFIC STRING>; do sleep 1; done; docker run ...²
用真实的docker ...¹
命令替换docker ...²
和docker
。
答案 1 :(得分:1)
您可以使用docker swarm或docker-compose。
docker-stack.yml
version: "3.7"
services:
slow-to-start-service:
image: xxx
needy-service:
image: yyy
depends_on: # <-- this will not start until slow-to-start-service us up
- slow-to-start-service
crontab -e
0 * * * * docker stack deploy -c /path/to/docker-stack.yml --prune my-stack