如何让第二个容器没有运行,直到第一个是在泊坞窗,撰写已经开始?
我想通过一个泊坞窗运行到容器使用“泊坞窗,撰写了”,但我得到一个错误组成。
我有一个容器,我的应用程序和的NodeJS其他为我的数据库蒙戈DB和它们相互连接。
version: "2"
services:
app:
container_name: sam-node
restart: always
image: amazus/sam-apis
ports:
- "3000:3000"
links:
- mongo
mongo:
container_name: sam-mongo
image: amazus/sam-data
ports:
- "27017:27017"
我得到的错误是:无法连接到服务器[蒙戈:27017]在第一次连接
回答如下:添加depends_on
参数
app:
container_name: sam-node
restart: always
image: amazus/sam-apis
ports:
- "3000:3000"
depends_on:
- mongo
links:
- mongo
另外,如果您想父一个完全初始化后启动相关容器,应添加command
参数检查,如果父容器初始化和建造。
更多here
为什么你需要吗?
因为一些服务,如数据库,可以初始化了一段时间,如果你有需要立即响应某些特定的逻辑,最好的父母一个初始化完成后启动相关容器。