gpt4 book ai didi

docker - 使用 traefik(v2) 路由器在特定端口上请求转发

转载 作者:行者123 更新时间:2023-12-02 18:00:11 24 4
gpt4 key购买 nike

我正在使用 traefik 版本 2(或 2.x),我想使用 traefik 路由器将所有请求从端口 80 转发到不同的端口,如 8081。所以请求像 http://localhost/xx将转发至 http://localhost:8081/xx网址。

我是 traefik 的新手,我正在使用 docker 进行此配置。
下面是我的 docker-compose.yml 文件配置。配置此 traefik 仪表板后加载到 http://localhost:8080/dashboard/#/ URL 但请求转发不起作用。

version: "3"

services:
traefik:
image: "traefik:v2.1.0"
container_name: "traefik"
command:
- "--log.level=DEBUG"
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
ports:
- "80:80"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"

whoami:
image: "containous/whoami"
container_name: "simple-service"
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.entrypoints=web"
- "traefik.http.services.whoami.loadbalancer.server.port=8081"
- "traefik.docker.network=proxy"
- "traefik.http.routers.whoami.rule=Host(`localhost`)"

对此的任何帮助将不胜感激。

最佳答案

您需要将您的服务端口映射到 8081
这是一个完全有效/经过测试的示例,您可以在其中访问 whoami前往 http://whoami.docker.local:8081http://whoami.docker.local

version: "3"

services:
traefik:
image: traefik
command:
- --api.insecure=true
- --providers.docker=true
ports:
- "80:80"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
labels:
- traefik.http.routers.api.rule=Host(`traefik.docker.local`)
- traefik.http.routers.api.service=api@internal

whoami:
image: containous/whoami
ports:
- "8081:80"
labels:
- traefik.http.routers.whoami.rule=Host(`whoami.docker.local`)
- traefik.http.routers.whoami.service=whoami@docker
- traefik.http.services.whoami.loadbalancer.server.port=80

它适用于端口 80还有 8081 , 按您的要求。
root@d:~# lsof -i :80,8081

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 28208 root 4u IPv6 51666675 0t0 TCP *:tproxy (LISTEN)
docker-pr 28265 root 4u IPv6 51671715 0t0 TCP *:http (LISTEN)

但是,如果您解释为什么要访问 :8081,可能会更容易提供帮助。 ,
因为 traefik被使用,所以我们不必做那种重定向。

关于docker - 使用 traefik(v2) 路由器在特定端口上请求转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59782442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com