Traefik仪表板仅在http端口上

问题描述

我试图在主机IP上公开我的docker服务(例如Heimdall,Plex,Tautulli等),仅出于内部目的,因此不提供域名。我希望每个服务都可以使用自己的前缀(例如192.168.0.100/heimdall、192.168.0.100/tautulli等)进行访问。

我希望将仪表板放置在单独的端口上,例如8080,但是即使在我将8080的入口点指定为 traefik ,并将 traefik 设置为入口之后服务点,它仍然到达名为http的端口80。

我的配置有问题吗?还是在traefik方面有问题?

docker-compose.yml

version: '3'
services:
  traefik:
    image: traefik
    container_name: traefik
    ports:
      - "80:80"
      - "8080:8080"
    restart: always
    volumes:
      - ./traefik:/etc/traefik
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

traefik.yml

entryPoints:
  http:
    address: ":80"
  traefik:
    address: ":8080"
api: {}
log:
  level: "DEBUG"
providers:
  file:
    directory: /etc/traefik/dynamic
  docker:
    endpoint: unix:///var/run/docker.sock
    exposedByDefault: false

dashboard.yml

http:
  routers:
    api:
      rule: PathPrefix(`/api`) || PathPrefix(`/dashboard`)
      entrypoints:
        - traefik
      service: api@internal

解决方法

根据文档(https://docs.traefik.io/v2.2/operations/api/#insecure),这可能会有所帮助:

api:
  insecure: true

它应隐式使用端口8080的特殊入口点traefik。 您也可以检查此信息以获取有关仪表板的更多信息:https://docs.traefik.io/operations/dashboard/

编辑

我刚刚尝试过,它可以在8080端口下使用以下配置:

docker-compose.yml

version: '3'

services:
    traefik:
        image: traefik
        container_name: traefik
        restart: always
        ports:
            - "80:80"
            - "8080:8080"
        volumes:
            - "/var/run/docker.sock:/var/run/docker.sock:ro"
            - "./dockerfiles/traefik/traefik.yml:/etc/traefik/traefik.yml:ro"
        labels:
            - "traefik.enable=true"
            - "traefik.http.routers.dashboard.rule=PathPrefix(`/api`) || PathPrefix(`/dashboard`)"
            - "traefik.http.routers.dashboard.entrypoints=traefik"
            - "traefik.http.routers.dashboard.service=api@internal"

traefik.yml (我在没有文件提供程序的情况下使用了您的文件):

entryPoints:
  http:
    address: ":80"
  traefik:
    address: ":8080"
api: {}
log:
  level: "DEBUG"
providers:
  docker:
    endpoint: unix:///var/run/docker.sock
    exposedByDefault: false

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...