我有一个相信简单的docker撰写文件。我有一个mongo容器,在第二个容器中我运行一个脚本来为DB提供数据。
version: '2'
services:
employer:
build:
context: ..
ports:
- "9000:80"
depends_on:
- db
links:
- db
environment:
NODE_ENV: "test"
MONGODB_URL: "mongodb://db:27017/my-service"
command: node bin/data-sync.js import --db mongodb://db:27017/my-service -f test/integration/fixtures.json -c collectionName
db:
image: mongo
不幸的是,这失败并出现以下错误:
{错误:getaddrinfo EAI_AGAIN db:27017 at Object.exports._errnoException(util.js:953:11) 在errnoException(dns.js:33:15) 在GetAddrInfoReqWrap.onlookup [as oncomplete](dns.js:79:26)名称:' MongoError',消息:' getaddrinfo EAI_AGAIN db:27017' }
这表明它无法翻译" db"任何明智的事情。但是,我遵循了文档:
链接服务的容器可以通过主机名访问 与别名相同,如果未指定别名,则为服务名称。
https://docs.docker.com/compose/compose-file/#links
有什么建议吗?