如何使用外部链接将docker compose连接到公共服务?

如何使用外部链接将docker compose连接到公共服务?,docker,docker-compose,external-links,errbit,Docker,Docker Compose,External Links,Errbit,我目前正在使用docker compose来设置一系列微服务,我想将它们链接到一个常见的错误记录服务(在compose之外创建) 我正在compose之外创建errorHandling服务 docker run -d --name errorHandler 然后我运行撰写(摘要): 我正在应用程序中使用主机名别名(“errorHandler”),但似乎无法将它们连接起来。如何检查服务是否在compose网络中被发现 使用共享docker网络,而不是链接。将“errorHandler”容器放置在

我目前正在使用docker compose来设置一系列微服务,我想将它们链接到一个常见的错误记录服务(在compose之外创建)

我正在compose之外创建errorHandling服务

docker run -d --name errorHandler
然后我运行撰写(摘要):


我正在应用程序中使用主机名别名(“errorHandler”),但似乎无法将它们连接起来。如何检查服务是否在compose网络中被发现

使用共享docker网络,而不是链接。将“errorHandler”容器放置在Docker的网络上,使用类似于
Docker network create errorNet
Docker network connect errorNet errorHandler
的方法。然后在“我的服务”的撰写文件中使用以下内容定义该网络:


这使用docker的内部DNS将容器连接在一起。

使用共享docker网络而不是链接。将“errorHandler”容器放置在Docker的网络上,使用类似于
Docker network create errorNet
Docker network connect errorNet errorHandler
的方法。然后在“我的服务”的撰写文件中使用以下内容定义该网络:


这将使用docker的内部DNS将容器连接在一起。

这是一个绝妙的技巧。作为补充说明,在我的服务下,我必须指定'-default'。非常感谢你的帮助——昨天在这件事上花了太多时间。只是好奇,外部链接是否普遍不受欢迎?我似乎想不出为什么我不总是喜欢使用网络。在docker引入网络后,链接容器成了不受欢迎的解决方案。我从来没有必要使用它。啊,妙计。作为补充说明,在我的服务下,我必须指定'-default'。非常感谢你的帮助——昨天在这件事上花了太多时间。只是好奇,外部链接是否普遍不受欢迎?我似乎想不出为什么我不总是喜欢使用网络。在docker引入网络后,链接容器成了不受欢迎的解决方案。我从来没有必要使用它。
version: '2'
services:
  my-service:
    build: ../my-service
    external_links:
      - errorHandler
version: '2'
networks:
  errorNet:
    external: true

services:
  my-service:
    build: ../my-service
    networks:
     - errorNet