所以,我想针对Local Json运行 local Swagger UI . 为此我遵循可用的指示here:
以下是该文档中共享的命令:
docker run -p 8081:8080 -e SWAGGER_JSON=/foo/swagger.json -v /bar:/foo swaggerapi/swagger-ui
在这里,我理解 -p 选项,但这个 -e 和 -v 令人困惑 .
所以我们假设我有 kept a JSON file at my desktop in Mac ,其路径是:
/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 选项,我需要提供什么 Value ,尽管基本命令是:
docker run -p 8081:8080 swaggerapi/swagger-ui
运行和SwaggerUI可以在 http:localhost:8081 获得,但是使用默认的Json而不是我的Json,即 http://petstore.swagger.io/v2/swagger.json
所以我的查询是应该如何更改 docker 的命令,它将使用我的本地JSON运行SwaggerUI的图像?
请帮忙 . 提前致谢 . &快乐编码:)
3 回答
在docker命令中
-v
表示挂载卷,-e
表示添加环境变量,所以你想要的可能就是这样:对我来说,命令有帮助
'pwd'/ docs =>包含我的swagger.json文件 .
swaggerapi / swagger-ui:v3.21.0 =>此版本支持SWAGGER_JSON.Its测试 .
它在Windows上对我有用的方式是这样的:
docker run -p 80:8080 -e SWAGGER_JSON=/mnt/swagger-v1.json -v C:\Users\jimen\Downloads:/mnt swaggerapi/swagger-ui
其中
C:\Users\jimen\Downloads
是本地swagger文件所在的文件夹(swagger-v1.json
) .