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