【发布时间】:2019-03-03 21:30:25
【问题描述】:
我有一个简单的 docker-compose 文件
version: '3'
services:
cassandra:
image: "cassandra:3.11.4"
container_name: leguan_cassandra
ports:
- "9042:9042"
volumes:
- ./build/cassandra:/var/lib/cassandra
永远不会回来。您能否举个例子,在确保 cassandra 准备就绪和可用后,docker-compose 如何返回?
提前致谢 马库斯
【问题讨论】:
-
我试图了解“返回”对您意味着什么,但如果您指的是您能够保持提示,请尝试将
-d或--detach添加到docker-compose up命令例如docker-compose -d up -
另外请注意,Docker Compose 不负责检查任何服务是否“就绪且可用”。如果您使用
docker-compose up -d或在同一个docker-compose.yml中有其他服务,Compose 将立即继续;如果数据库需要一段时间才能启动,Compose 不会等待。 -
我目前正在尝试使用 docker-compose 在单元测试之前启动一个 cassandra,然后想停止它。所以我使用了gradle插件“com.avast.gradle:gradle-docker-compose-plugin:0.8.14”,它调用了没有-d的docker-compose。那我理解对了吗?我必须用-d启动它,然后等待数据库自己来?