【问题标题】:Traefik as a proxy for Docker container with host machines networkTraefik 作为具有主机网络的 Docker 容器的代理
【发布时间】:2017-08-18 15:20:24
【问题描述】:

我想设置以下场景:

  • 一台带有 Docker 容器的物理机
  • 带有网络backend的容器中的traefik
  • 另一个使用主机网络的容器 (network_mode: host)

Traefik 成功找到容器并将其添加到 IP 地址 127.0.0.1,显然无法从 traefik 容器(不同的网络/桥接器)访问。

docker-compose.yml:

version: '3'
services:
    traefik:
        image: traefik
        ports:
            - "80:80"
            - "443:443"
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock
            - ./traefik.toml:/etc/traefik/traefik.toml
        networks:
            - backend
     app:
         image: my_app
         labels:
             - "traefik.enable=true"
             - "traefik.frontend.rule=Host:myapp.example"
             - "traefik.port=8080"
         network_mode: host
networks:
    backend:
        driver: bridge

app 容器添加了

Server      URL                     Weight 
server-app  http://127.0.0.1:8080   0
Load Balancer: wrr

当然,我可以在主机上使用http://127.0.0.1:8080 访问app,或者从traefik 容器中使用http://$HOST_IP:8080

我能否说服 traefik 为容器使用另一个 IP?

谢谢!

【问题讨论】:

  • 尝试将应用添加到后端网络。
  • 忘记在应用容器的配置中添加network_mode
  • 我在 windows 上使用 dockertoolbox,docker-machine ip 是 192.168.99.100,但是当我在 network_mode: host 中运行我的应用程序时,它使用的是 127.0.0.1 而不是 192.168.99.100。你能帮忙吗?
  • 似乎他们正在更新版本中解决此问题github.com/containous/traefik/issues/5559 解决方法:github.com/containous/traefik/issues/…

标签: docker docker-compose traefik


【解决方案1】:

如果没有通用的 docker 网络,traefik 将无法路由到您的容器。由于您使用的是主机网络,因此几乎不需要 traefik 代理容器,只需直接访问它即可。或者,如果您只需要通过代理访问它,则将其放在后端网络上。如果你需要在宿主机上发布一些端口,而另一些通过traefik代理,那么把它放在后端网络上,并发布你需要发布的端口,而不是直接使用宿主网络。

【讨论】:

  • 你是对的,我已经静态添加了我的支持,因为它总是运行。
  • 我在 windows 上使用 dockertoolbox,docker-machine ip 是 192.168.99.100,但是当我在 network_mode: host 中运行我的应用程序时,它使用的是 127.0.0.1 而不是 192.168.99.100。你能帮忙吗?
  • 讨论“需要”是题外话。怎么做才是最重要的。例如,我需要设置一个 Web 服务接收来自负载均衡器的请求并通过主机网络发送多播/广播。使用后端网络并不能解决所有问题
猜你喜欢
  • 1970-01-01
  • 2020-07-08
  • 2016-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多