考虑以下docker-compose.yml
version: '2'
services:
serv1:
build: .
ports:
- "8080:8080"
links:
- serv2
serv2:
image: redis
ports:
- "6379:6379"
我将端口转发给主机以管理我的服务,但是这些服务可以使用默认的docker网络简单地相互访问。例如,在
serv1
上运行的程序可以访问redis:6379
,并且一些DNS魔术可以使该工作正常。我想将主机添加到该网络,以便我可以通过其主机名:端口访问容器的端口。 最佳答案
您可以通过在与应用程序位于同一网络的容器中运行dns代理(例如dnsmasq)来完成此操作。然后将主机dns指向容器ip,就可以像解析网络上的容器那样解析主机名。
https://github.com/hiroshi/docker-dns-proxy就是这样的一个例子。
关于networking - 如何向主机公开Docker网络?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39070547/