具有Traefik的反向代理用于多个docker容器,具有招摇UI和MinIO抛出未找到错误

具有Traefik的反向代理用于多个docker容器,具有招摇UI和MinIO抛出未找到错误,docker,docker-compose,swagger,reverse-proxy,traefik,Docker,Docker Compose,Swagger,Reverse Proxy,Traefik,我正在尝试使用traefik运行一些示例,该示例将建立一个反向代理,该代理具有swagger ui和MinIO docker容器。我希望这两项服务可以在localhost:70/swagger和localhost:70/minio上访问 这是我的docker compose.yml文件: 版本:“3” 服务: 反向代理: 图片:traefik:v2.2 容器名称:traefik反向代理 命令:--providers.docker--api.unsecure=true--entrypoints.w

我正在尝试使用traefik运行一些示例,该示例将建立一个反向代理,该代理具有swagger ui和MinIO docker容器。我希望这两项服务可以在
localhost:70/swagger
localhost:70/minio
上访问

这是我的
docker compose.yml
文件:

版本:“3”
服务:
反向代理:
图片:traefik:v2.2
容器名称:traefik反向代理
命令:--providers.docker--api.unsecure=true--entrypoints.web.address=:80--log.level=DEBUG
端口:
- "70:80"
- "8080:8080"
卷数:
-/var/run/docker.sock:/var/run/docker.sock
昂首阔步:
图片:swaggerapi/swagger ui:v3.23.0
集装箱名称:斯威格
标签:
-“traefik.enable=true”
-“traefik.http.routers.swagger.rule=Host(`localhost`)和&Path(`/swagger`)”
-“traefik.http.routers.swagger.entrypoints=web”
-“traefik.http.routers.swagger.service=swagger”
-“traefik.http.services.swagger.loadbalancer.server.port=8080”
迷你们:
图片:minio/minio:RELEASE.2019-12-24T23-04-45Z
货柜名称:minio
命令:“服务器/数据”
标签:
-“traefik.enable=true”
-“traefik.http.routers.minio.rule=Host(`localhost`)和&Path(`/minio`)”
-“traefik.http.routers.minio.entrypoints=web”
-“traefik.http.routers.minio.service=minio”
-“traefik.http.services.minio.loadbalancer.server.port=9000”
whoami:
图片:“集装箱/whoami”
货柜名称:whoami
标签:
-“traefik.enable=true”
-“traefik.http.routers.whoami.rule=Host(`localhost`)和&Path(`/whoami`)”
-“traefik.http.routers.whoami.entrypoints=web”
-“traefik.http.routers.whoami.service=whoami”
-“traefik.http.services.whoami.loadbalancer.server.port=80”
在我用
docker compose up运行之后,一切都开始正常了。我还包括了whoami服务,只是为了测试,当我导航到localhost:70/whoami时,它工作正常,因为我可以看到我的主机信息。但是,我无法调用localhost:70/minio或localhost:70/swagger。如果我尝试调用swagger,它将返回nginx 404 Not Found和一条traefik容器日志消息,如下所示:

traefik反向代理
time=“2020-05-05T11:15:37Z”level=debug msg=“vulcand/oxy/roundrobin/rr:将此请求转发到URL”request=“{\”Method\”:\“GET\”,“URL\”:“{\”Scheme\”:“\”,“不透明\”:“\”,“用户\”:null,““主机:”:“\”,“路径:”,“路径:”:“/swagger\”,“RawPath\”:”,“RawPath\”:“:”,“ForceQuery\”,“ForceQuery\”:“,“protofragment\”,“protofragment\”HTTP/1.1\,“ProtoMajor\”:1,“ProtoMajor\”:1,“Header\”:{“Accept\”:[\”文本/html,应用程序/xhtml+xml,应用程序/xml;q=0.9,图像/webp*/*;q=0.8\”],“Accept Encoding\”:[\“gzip,deflate\”],“Accept Language\”:[\'en GB,en;q=0.5\”],“Connection\:[“keep alive\”,“Upgrade-Unsecurity\”,“Upgrade-Unsecurity-Requests\”,“Accept-Encoding\”:[\\”,“用户代理”:[“Mozilla=”,[\\”,[\\”,[\\”,“Mozilla代理程序”[\(X11;Ubuntu;Linux x86;U 64;rv:75.0)Gecko/20100101 Firefox/75.0\”],“X-Forwarded-Host\:[“localhost:70\”],“X-Forwarded-Port\”:[“70\”],“X-Forwarded-Proto\”:[“http\”],“X-Forwarded-Server\:[“26cf421ccde8\”],“X-Real-Ip\:[“172.19.0.1\”,“ContentLength\”:“NCoding\”:[“null-Form\”,“null-Host\”,“PostForm\”,“null-Host\”,“null\”,“PostForm\”,“空主机:”,”PostForm\”,“空主机:\”,“空主机:\”,“空主机:”\“:null,\“MultipartForm\”:null,\“Trailer\”:null,\“RemoteAddr\”:\“172.19.0.1:50548\”,\“RequestURI\”:\“/swagger\”,\“TLS\”:null}“ForwardURL=”http://172.19.0.5:8080" swagger | 2020/05/05 11:15:37[错误]26#26:*2 open()“/usr/share/nginx/html/swagger”失败(2:没有这样的文件或目录),客户端:172.19.0.4,服务器:localhost,请求:“GET/swagger HTTP/1.1”,主机:“localhost:70” 招摇过市172.19.0.4---[05/May/2020:11:15:37+0000]“获取/招摇过市HTTP/1.1“404126”-“Mozilla/5.0(X11;Ubuntu;Linux x86_64;rv:75.0)Gecko/20100101 Firefox/75.0”
这似乎是一个路由问题,因为如果我导航到swagger服务器IP,我可以看到petstore规范

那么,我该如何解决这个问题?我是否遗漏了什么