考虑以下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/

10-16 21:52