Docker-compose depend_on
我有一个mongodb服务和一个运行docker-compose的testing服务:
services: mongo: image: myrepo/mongo ports: - "27017:27017" test: depends_on: - mongo image: myrepo/elixir-tests command: sh start.sh
在start.sh脚本我试图运行:
mongo 172.20.0.10:27017/wc-app-sandbox --eval "printjson(....))"
但我得到以下错误:
start.sh: 10: start.sh: mongo: not found
我的问题是:为什么错误发生 – 不是depends_on属性假设自动包含服务依赖关系? 如这里所述 :
依赖于取决于
表示服务之间的依赖关系,这有两个作用:
docker-compose up将以依赖性顺序启动服务。 在下面的例子中,db和redis将在web之前启动。 docker-up up SERVICE将自动包含SERVICE的依赖关系。 在下面的例子中,docker-up up web也会创build并启动db和redis。
这个错误并不意味着“我找不到mongo容器的路由”,这意味着“我找不到mongo
执行bin。可能image myrepo/elixir-tests
不包含mongo-client
。尝试安装apt update && apt install mongodb-clients
到你的容器中。
和mongo连接string应该看起来像mongo mongo:27017/wc-app-sandbox --eval "printjson(....))"