当端口 8080 未打开时,Traefik 仪表板不显示
Traefik dashboad is not showing when port 8080 is not open
我正在学习 traefik,我尝试在不打开端口 8080 的情况下设置仪表板。
通过以下配置,我可以访问仪表板。
docker-compose.yml
version: '3'
services:
reverse-proxy:
image: traefik:1.7.9-alpine
restart: unless-stopped
networks:
- mynet
ports:
- "80:80"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /opt/traefik/traefik.toml:/traefik.toml
networks:
mynet:
external: true
traefik.toml
[entryPoints]
[entryPoints.http]
address = ":80"
[api]
[docker]
一旦我从 docker-compose.yml 中删除端口 8080,我就无法再访问它了。
要使这个非常简单的设置正常工作,缺少哪些部分?
后台的url默认是{你的ip}:8080。
我认为您可能在这里搞混了:您修改的入口点是 "http",而不是 "api"。因此,使用此配置,您仍然需要通过 8080 访问仪表板。
如果您想改变这一事实,请为 api 添加一个入口点(例如 "foo"),并在匹配的配置中设置 entryPoints.foo。
[entryPoints]
[entryPoints.http]
address = ":8090"
[entryPoints.foo]
address = ":80"
[api]
entryPoint = "foo"
但是如您所见,您丢失了 "http" 默认端口...这很烦人。所以,我想你可以保留 8080 或换成一个不太容易猜到的。
这主要来自this part of the doc
感谢 Marvin 的帮助,我做到了:
docker-compose.yml
version: '3'
services:
reverse-proxy:
image: traefik:1.7.9-alpine
restart: unless-stopped
networks:
- mynet
ports:
- "80:80"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /opt/traefik/traefik.toml:/traefik.toml
networks:
mynet:
external: true
traefik.toml
[entryPoints]
[entryPoints.http]
address = ":80"
[api]
dashboard = true
[file]
[backends]
[backends.traefik]
[backends.traefik.servers.server]
url = "http://127.0.0.1:8080"
[frontends]
[frontends.traefik]
entryPoints = ["http"]
backend = "traefik"
[frontends.traefik.routes.traefik]
rule = "PathPrefixStrip:/traefik;PathPrefix:/traefik"
[docker]
转到您的域。tld/traefik 显示仪表板!
我正在学习 traefik,我尝试在不打开端口 8080 的情况下设置仪表板。
通过以下配置,我可以访问仪表板。
docker-compose.yml
version: '3'
services:
reverse-proxy:
image: traefik:1.7.9-alpine
restart: unless-stopped
networks:
- mynet
ports:
- "80:80"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /opt/traefik/traefik.toml:/traefik.toml
networks:
mynet:
external: true
traefik.toml
[entryPoints]
[entryPoints.http]
address = ":80"
[api]
[docker]
一旦我从 docker-compose.yml 中删除端口 8080,我就无法再访问它了。
要使这个非常简单的设置正常工作,缺少哪些部分?
后台的url默认是{你的ip}:8080。
我认为您可能在这里搞混了:您修改的入口点是 "http",而不是 "api"。因此,使用此配置,您仍然需要通过 8080 访问仪表板。
如果您想改变这一事实,请为 api 添加一个入口点(例如 "foo"),并在匹配的配置中设置 entryPoints.foo。
[entryPoints]
[entryPoints.http]
address = ":8090"
[entryPoints.foo]
address = ":80"
[api]
entryPoint = "foo"
但是如您所见,您丢失了 "http" 默认端口...这很烦人。所以,我想你可以保留 8080 或换成一个不太容易猜到的。
这主要来自this part of the doc
感谢 Marvin 的帮助,我做到了:
docker-compose.yml
version: '3'
services:
reverse-proxy:
image: traefik:1.7.9-alpine
restart: unless-stopped
networks:
- mynet
ports:
- "80:80"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /opt/traefik/traefik.toml:/traefik.toml
networks:
mynet:
external: true
traefik.toml
[entryPoints]
[entryPoints.http]
address = ":80"
[api]
dashboard = true
[file]
[backends]
[backends.traefik]
[backends.traefik.servers.server]
url = "http://127.0.0.1:8080"
[frontends]
[frontends.traefik]
entryPoints = ["http"]
backend = "traefik"
[frontends.traefik.routes.traefik]
rule = "PathPrefixStrip:/traefik;PathPrefix:/traefik"
[docker]
转到您的域。tld/traefik 显示仪表板!