docker-compose.yml中的各个components的启动顺序一般如何控制啊?


我期望的是在entrypoint 执行完之后再执行其他的components;
我知道links 和 volumes_from 可以影响启动顺序,但是如果我在entrypoint中起了一个mysql 的daemon server,然后cmd又起了一个sshd, links等貌似不会等entrypoint执行完就启动其他的components了,这就意味着我的mysql可能还没有完全起来,其他的server就连接过来了,这样就会有问题.

一个entrypoint.sh的例子如下:

!/bin/bash

set -e

mysqld_safe --user=mysql -P 3310 &

sleep 10

exec "$@"  #/usr/sbin/sshd -D
已邀请:

bw57899

赞同来自:


docker compose 里有个参数: depends_on, 你可以先试试看。

https://github.com/docker/compose/pull/686

但是也有人报告光 depends_on 还不够,这个问题到现在为止还没解决。

https://github.com/docker/compose/issues/295

要回复问题请先登录注册