将Traefik 2.0用作代理时,不显示服务的UI

时间:2020-06-13 14:25:41

标签: docker traefik

我在应用程序docker-compose文件中使用Traefik 2.0作为反向代理。 我正在使用的docker-compose文件是:

version: '3.2'
services:
  myapp.com:
    image: myappservice:master
    restart: always
    labels:
      - traefik.enable=true
      - traefik.http.routers.myapp.rule=PathPrefix(`/api/`)

  myui:
    image: myui:latest
    restart: always
    ports:
    - 90:80  
    labels:
      - traefik.enable=true
      - traefik.http.routers.myui.rule=Path(`/`)

  proxy:
    image: traefik:v2.0 # The official v2.0 Traefik docker image
    command:
      - --api.insecure=true # Enable the web UI 
      - --log.level=DEBUG
      - --entrypoints.insecure.address=:80
      - --entrypoints.secure.address=:443
      - --providers.docker=true
      - --providers.docker.network=traefik-network
      - --providers.docker.exposedByDefault=false
      - --providers.file.directory=/etc/traefik/configuration/
      - --providers.file.watch=true
    ports:
    - 80:80     # The HTTP port
    - 443:443   # The HTTPS port
    - 8080:8080 # The traefik Web UI
    volumes:
    - '/var/run/docker.sock:/var/run/docker.sock'   # So that Traefik can listen to the Docker events
    - './traefik:/etc/traefik/configuration'

networks: 
  default: 
    external:
      name: "traefik-network"  #The same network defined in Docker provider config

使用docker-compose up命令部署此文件后,访问URL http://localhost:80/

时,UI(由myui容器提供)应该在浏览器中可用

案例1: 按照通过标签进行的traefik配置,此URL http://localhost:80/应将请求转发到myui容器的端口80,并应显示UI。但这是不正确的。正确的标题/名称在浏览器选项卡的标题栏中显示为“ MyUi”。但是内容不显示。

情况2: myui容器没有问题,因为URL http://localhost:90/(可通过映射的主机端口直接访问myui容器)正确显示了UI。

当我在Google chrome浏览器的结果页面上使用“查看页面源代码”时,在两种情况下,源代码似乎都是相同的。

每次结果相同时,我都会使用不同的浏览器进行检查。

我使用诸如Insomnia之类的API客户端来检查GET请求http://localhost:80/http://localhost:90/的结果,它们均返回200 OK响应。

这是Traefik的问题吗?或者是别的什么? 有人可以帮我解决这个问题吗?

0 个答案:

没有答案