【问题标题】:Traefik 2.0 and docker simple configuration doesnt workTraefik 2.0 和 docker 简单配置不起作用
【发布时间】:2020-09-01 20:15:59
【问题描述】:

我正在关注一些关于 traefik 2.0 和 docker 的教程 link_to_tutorial,并且我有 docker-compose 文件,它启动了两个容器:traefik 和 my-app。问题是当容器启动并运行时,我无法浏览到 localhost:8082,按照配置的建议,我总是在浏览器中得到“无法连接”。

docker-compose.yml:

version: "3.3"

services:
  traefik:
    image: "traefik:v2.0.1"
    command:
      - --entrypoints.web.address=:80
      - --providers.docker
      - --api.insecure
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

  my-app:
    image: containous/whoami:v1.3.0
    command:
      # It tells whoami to start listening on 8082 instead of 80
      - --port=8082
    labels:
      - "traefik.http.routers.my-app.rule=Host(`whoami.docker.localhost`)"
      - "traefik.http.services.my-app.loadbalancer.server.port=8082"

但是我能够获得 localhost:8080 并且 traefik UI 运行良好。据我了解,对“traefik”容器的所有请求通常都应重定向到“my-app”:8082 容器,但它以某种方式失败。请注意。谢谢。

【问题讨论】:

  • 您是如何提出请求的?您有一个基于主机名的规则,这意味着您必须要么访问 URL http://whoami.docker.localhost 上的服务,要么您需要显式设置 Host: 标头。
  • 我正在制作 localhost:80' 并给出“找不到页面”,但是当我制作 whoami.docker.localhost 时,正如你所说,它可以工作。所以我对在这种情况下将 Host: header 放在哪里有点困惑?谢谢。
  • 非常感谢,一切正常!

标签: docker traefik


【解决方案1】:

“traefik.http.routers.my-app.rule=Host(localhost,127.0.0.1)”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    相关资源
    最近更新 更多