Link docker-将容器组合到现有的 运行 容器
Link docker-compose container to an exist running container
我正在尝试 运行 一个 docker-compose 与一个现有的 mongodb 容器。
在我的 docker-compose 中,我做了这个:
version: '2'
services:
web:
volumes:
- .:/app
external_links:
- mongo
volumes:
data:
external: true
我正在 运行ning mongodb 使用此命令:
docker run -d -p 27017:27017 -v /docker/mongo/data:/data/db --name mongo mongo
在docker-compose中正常链接,当你运行curl mongo
时,我可以连接mongodb。但是我想对两个不同的项目使用相同的 mongodb。
使用external_links
,如果我无法连接mongodb。如何正确使用 external_links?
谢谢。
您正在使用 docker-compose 的版本 2,这意味着 linking 的处理方式与旧版本不同。使用 docker-compose up
启动的所有服务都将成为公共网络的一部分。您可以指定该网络,或者 docker-compose 会自动为您创建它。为了 link 到您的 mongodb 容器,您需要在启动时传入 --network
标志。
参考文献:
- 关于版本 2 中的外部 links 的注意事项:
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/#/connect-a-container-to-a-network---network
我正在尝试 运行 一个 docker-compose 与一个现有的 mongodb 容器。
在我的 docker-compose 中,我做了这个:
version: '2'
services:
web:
volumes:
- .:/app
external_links:
- mongo
volumes:
data:
external: true
我正在 运行ning mongodb 使用此命令:
docker run -d -p 27017:27017 -v /docker/mongo/data:/data/db --name mongo mongo
在docker-compose中正常链接,当你运行curl mongo
时,我可以连接mongodb。但是我想对两个不同的项目使用相同的 mongodb。
使用external_links
,如果我无法连接mongodb。如何正确使用 external_links?
谢谢。
您正在使用 docker-compose 的版本 2,这意味着 linking 的处理方式与旧版本不同。使用 docker-compose up
启动的所有服务都将成为公共网络的一部分。您可以指定该网络,或者 docker-compose 会自动为您创建它。为了 link 到您的 mongodb 容器,您需要在启动时传入 --network
标志。
参考文献:
- 关于版本 2 中的外部 links 的注意事项: 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/#/connect-a-container-to-a-network---network