所以,我想运行本地Swagger UI与Local Json。为此我遵循here的指示:
以下是该文档中共享的命令:
docker run -p 8081:8080 -e SWAGGER_JSON=/foo/swagger.json -v /bar:/foo swaggerapi/swagger-ui
在这里我理解-p选项但是-e和-v令人困惑。
所以我们假设我在Mac的桌面上保存了一个JSON文件,其路径是:
/Users/abc/Desktop/lp.json
所以对于这个文件,命令将变为:
docker run -p 8081:8080 -e SWAGGER_JSON=/Users/abc/Desktop/lp.json -v /bar:/foo swaggerapi/swagger-ui
但是命令的-v部分怎么样?关于-v选项我需要提供什么值,尽管基本命令是:
docker run -p 8081:8080 swaggerapi/swagger-ui
运行和SwaggerUI可以在http:localhost:8081下找到,但是默认的Json而不是我的Json,即http://petstore.swagger.io/v2/swagger.json
所以我的查询是应该如何更改docker的命令,它将使用我的本地JSON运行SwaggerUI的图像?
请帮忙。提前致谢。 &快乐编码:)
在docker命令中,-v
表示挂载卷,而-e
表示添加环境变量,所以你想要的可能就是:
docker run -p 8081:8080 -e SWAGGER_JSON=/mnt/lp.json -v /Users/abc/Desktop:/mnt swaggerapi/swagger-ui
对我来说,命令有帮助
docker run -p 8081:8080 -e SWAGGER_JSON=/tmp/swagger.json -v `pwd`/docs:/tmp swaggerapi/swagger-ui:v3.21.0
'pwd'/ docs =>包含我的swagger.json文件。
swaggerapi / swagger-ui:v3.21.0 =>此版本支持SWAGGER_JSON.Its测试。