depends_on

用来表示服务之间的依赖关系。服务的依赖关系会导致下面的行为:

  • docker-compose up会按照依赖顺序启动服务。下面的示例中,db和redis都在web之前启动。

  • docker-compose up SERVICE自动包含SERVICE的依赖。在下面示例,docker-compose up web也会创建和启动db和redis。

  • docker-compose stop按照依赖顺序停止服务。下面的示例中,web在db和redis之前被停止。

 version: "3.8"
 services:
   web:
     build: .
     depends_on:
       - db
       - redis
   redis:
     image: redis
   db:
     image: postgres

Note:

  • depends_on在启动web之前,不会等待db和redis进入ready状态。只会等待它们被启动。如果需要等待一个服务进入ready状态。参考控制启动顺序来解决这个问题。

  • 版本3不再支持depends_on的condition形式。

  • 当通过版本3的Compose文件在swarm节点上部署一个stack时,depends_on选项会被忽视。

Last updated