1,下载swagger-ui镜像
2,运行swagger-ui镜像
docker run -d -p 8081:8080 -v /swaggerjson:/foo swagger-ui
/swaggerjson:为本机路径,8081为本机端口;-v 将本机中的swaggerjson文件映射到swagger-ui容器中
3,docker exec -it swagger-ui容器id /bin/sh:进入到容器写shell脚本获取json文件并自动替换展示的index.html中的url
展示多个文档的主要属性是urls[{url:"",name:""},{url:"",name:""}]
脚本内容:
#! /bin/sh
NGINX_ROOT=/usr/share/nginx/html
INDEX_FILE=$NGINX_ROOT/index.html
#动态获取/foo文件夹下的json文件名(json文件为Jenkins打包后的json文件,自动通过scp传输到服务器上),并展示为[{url:"",name:""},{url:"",name:""}]到json.txt中保存
ls -1 /foo|awk -v cpath='/' 'BEGIN{print "["}{print "{url:\""cpath$0"\",name:\""$0"\"},"}END{print "]"}' > ~/json.txt
将urls当做变量
REAL_PATH=`cat ~/json.txt`