我有一个local.yml
文件,其中定义了3个服务:service3
依赖于service2
,service2
依赖于service1
。我要在它们之间强制执行一个启动顺序:service1
启动冷杉,然后是service2
,然后是service3
。对我来说非常重要的是,service3
是最后一个开始的人。
我试图做的是在service3
内添加以下代码:
services:
service3:
healthcheck:
test: curl http://localhost:8080/someUrl || exit 1
interval: 10s
build:
context: ./myDir
dockerfile: ./dockerfile3
depends_on:
- service2
service2:
build:
context: .
dockerfile: /dockerfile2
depends_on:
- service1
service1:
image: service1_image
但是http://localhost:8080/someUrl
在serivce2
完成启动之前可用。我现在在日志中看到的内容(作为开始顺序)如下:
service1 |.......
service1 |.......
service2 |.......
service2 |.......
service3 |....... //starts after the url is available
service3 |....... //prints that service3 is available
service2 |....... //and then service2 continues to build
service2 |.......
service2 |.......
如何最后显示来自service3
的日志消息?即如何以最后一个顺序启动service3?