我正在尝试运行一个存在蒙哥德容器的docker-compose。
在我的Docker-Compose中,我做到了:
version: '2'
services:
web:
volumes:
- .:/app
external_links:
- mongo
volumes:
data:
external: true
我正在使用此命令运行mongodb:
docker run -d -p 27017:27017 -v /docker/mongo/data:/data/db --name mongo mongo
在Docker-Compose中的普通链接中,当您运行curl mongo
时,我可以连接MongoDB。但是我想将同一个元号用于两个不同的项目。
如果我无法连接mongodb,请使用external_links
。如何以正确的方式使用external_link?
谢谢。
您使用的是Docker-Compose版本2,这意味着链接的处理方式与较旧版本的处理方式不同。所有使用docker-compose up
开始的服务将成为公共网络的一部分。您可以指定该网络或Docker-Compose将为您自动创建它。为了链接到MongoDB容器,启动它时需要传递--network
标志。
参考:
- 关于版本2中的外部链接的注释:https://docs.docker.com/compose/compose-file/#/externallinks
- 如何在Docker-Compose中指定您的网络:https://docs.docker.com/compose/compose-file/#/networks
- 如何在
docker run
中指定您的网络:https://docs.docker.com/engine/reference/commandline/run/run/w./connect-a-container-container-to-a-network--network--network