如何使用 external_links 连接 docker-compose 到普通服务?

How do use external_links to connect docker-compose to common service?

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

我正在撰写之外创建错误处理服务。

docker run -d --name errorHandler

然后我运行撰写(总结):

version: '2'
services:
  my-service:
    build: ../my-service
    external_links:
      - errorHandler

我在我的应用程序中使用主机名别名 ('errorHandler'),但似乎无法连接它们。如何检查服务是否在组合网络中被发现?

使用共享 docker 网络而不是链接。使用类似 docker network create errorNetdocker network connect errorNet errorHandler 的方式将 "errorHandler" 容器放置在 Docker 的网络上。然后在 "my-service" 的撰写文件中定义该网络:

version: '2'
networks:
  errorNet:
    external: true

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

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