IT·实战·经验Docker容器

docker-compose 启动顺序

2017-09-01  本文已影响1034人  billJiang

在docker-compose的配置文件中,通过配置depends_on, links, volumes_from, 以及 network_mode: "service:...".可以控制服务的启动顺序,但是却不能知道被依赖的服务是否启动完毕,在一个服务必须要依赖另一个服务完成的时候,这样就会有问题。

比如在微服务需要依赖微服务配置中心,在配置中心没有加载完毕的时候,微服务就会出现无法加载配置的错误。

这个问题,官网的文档上有描述

depends_on
Controlling startup order in Compose

解决的办法有以下几种:

改写后的docker-compose如下:

version: "2"
services:
  web:
    build: .
    ports:
      - "80:8000"
    depends_on:
      - "db"
    command: ["./wait-for-it.sh", "db:5432", "--", "python", "app.py"]
  db:
    image: postgres

上一篇 下一篇

猜你喜欢

热点阅读