如何使用 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 errorNet
和 docker network connect errorNet errorHandler
的方式将 "errorHandler" 容器放置在 Docker 的网络上。然后在 "my-service" 的撰写文件中定义该网络:
version: '2'
networks:
errorNet:
external: true
services:
my-service:
build: ../my-service
networks:
- errorNet
这使用 docker 的内部 DNS 将容器连接在一起。
我目前正在使用 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 errorNet
和 docker network connect errorNet errorHandler
的方式将 "errorHandler" 容器放置在 Docker 的网络上。然后在 "my-service" 的撰写文件中定义该网络:
version: '2'
networks:
errorNet:
external: true
services:
my-service:
build: ../my-service
networks:
- errorNet
这使用 docker 的内部 DNS 将容器连接在一起。