将Docker-Compose容器链接到存在的运行容器



我正在尝试运行一个存在蒙哥德容器的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

相关内容

  • 没有找到相关文章

最新更新