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 标志。

参考文献: