docker 安装部署swagger-ui swagger-editor

xingyun86 2019-6-18 3774

docker部署 Swagger ui editor

可以直接选择使用docker部署

1)下载swagger-editor的容器

sudo docker pull swaggerapi/swagger-editor 
sudo docker run -d --restart=always --name wsagger-editor -p 81:8080 swaggerapi/swagger-editor

8089:8080 将容器的8080端口暴露给localhost的8089端口,在浏览中输入:http://127.0.0.1:8089,就可以在容器中编辑api文档

编辑后,在页面上上方点击 File -> Download JSON,将文件下载到本地 命名为swagger.json

save as yaml可以保存api文件为openapi.yaml

2)下载swagger-ui的容器

sudo docker pull swaggerapi/swagger-ui 
sudo docker run -d --restart=always --name wsagger-ui -p 8088:8080 -v $(pwd):/usr/share/nginx/html/config swaggerapi/swagger-ui

-v:将当前目录挂在到 /usr/share/nginx/html/config中执行

没有将swagger.json或者openapi.yaml 在容器内修改的好处:在外部修改后容器可以直接运行,如果在容器内容修改需要在compile一次生成新的容器,这就复杂了哈

如果需要修改,则可以查看镜像的cmd,我们可以通过sudo docker ps -a 

CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                                                                                                      NAMES
478a3d3503fd        star7th/showdoc       "docker-php-entrypoi…"   2 hours ago         Up 2 hours          443/tcp, 9000/tcp, 0.0.0.0:4999->80/tcp                                                                                    ppshuai_showdoc

进入容器来进行一些修改

sudo docker exec -it 478a3d3503fd /bin/sh1

进入配置文件的根目录

cd /usr/share/nginx

配置文件都在这个目录下,配置json或yaml文件在

/usr/share/nginx/html/index.html文件的const ui = SwaggerUIBundle({…}) 行

设置url:'./config/swagger.json',默认加载swagger.json为api文件。

当然你也可以打开web网页后再输入./config/swagger.json 或者./config/openapi.yaml

4)web验证

swagger-ui:  http://127.0.0.1:8088

swagger-editor:  http://127.0.0.1:8089


×
打赏作者
最新回复 (0)
只看楼主
全部楼主
返回