首页 文章

Swagger在Docker Image中运行本地json文件

提问于
浏览
4

所以,我想针对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 回答

  • 0

    在docker命令中 -v 表示挂载卷, -e 表示添加环境变量,所以你想要的可能就是这样:

    docker run -p 8081:8080 -e SWAGGER_JSON=/mnt/lp.json -v /Users/abc/Desktop:/mnt swaggerapi/swagger-ui
    
  • 9

    对我来说,命令有帮助

    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测试 .

  • 2

    它在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 ) .

    enter image description here

相关问题