[英]Serving Swagger UI and editor using Docker Compose and Traefik
我第一次嘗試同時啟動和使用 Swagger UI 和 Swagger Editor。 我的方法是使用 Docker Compose 定義兩個服務並將它們隱藏在反向代理后面,在本例中為 Traefik。
但是,我的撰寫文件有問題,我無法弄清楚。
version: '3'
services:
traefik:
image: traefik:v2.5
restart: always
command:
- --accesslog
- --api.insecure=true
- --providers.docker
- --providers.docker.exposedbydefault=false
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "80:80"
- "8080:8080"
swaggerui:
image: swaggerapi/swagger-ui
restart: always
environment:
- PORT=8081
expose:
- 8081
labels:
- traefik.enable=true
- traefik.http.routers.swaggerui.rule=Host(`swaggerui`) && Path(`/ui`)
swaggereditor:
image: swaggerapi/swagger-editor
restart: always
environment:
- PORT=8082
expose:
- 8082
labels:
- traefik.enable=true
- traefik.http.routers.swaggereditor.rule=Host(`swaggereditor`) && Path(`/editor`)
有什么建議嗎?
基
您必須首先在 Traefik 配置中指定命名入口點地址(實際上是容器中的端口號)
command:
...
- "--entrypoints.swaggerui.address=:8081"
在第二步,你應該為swaggerui容器添加 label,就像這樣
labels:
- "traefik.enable=true"
- "traefik.http.routers.swaggerui.entrypoints=swaggerui"
...
完成上述步驟后,一切正常
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.