在Docker映像中使用本地json文件运行Swagger

在Docker映像中使用本地json文件运行Swagger,json,docker,swagger,swagger-ui,Json,Docker,Swagger,Swagger Ui,因此,我想针对本地Json运行本地招摇过市UI。为此,我遵循可用的说明: 以下是该文档中共享的命令: 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

因此,我想针对本地Json运行本地招摇过市UI。为此,我遵循可用的说明:

以下是该文档中共享的命令:

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
Runs和SwaggerUI在http:localhost:8081上可用,但使用默认Json,而不是my 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文件


swagger API/swagger ui:v3.21.0=>此版本受swagger_JSON支持。已测试

我在Windows上的工作方式是:

docker run-p80: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


我实际上想要的是
swagger编辑器
,而不是
swagger API/swagger ui

docker pull swaggerapi/swagger-editor
docker run -p 7999:8080 swaggerapi/swagger-editor 
然后您将获得完整的
文件
菜单:


不适合我,这是我的命令
docker run-p9000:8080-e SWAGGER_JSON=/Users/abc/Downloads/SWAGGER.JSON-v/Users/abc/Desktop:/Users/faizal/Downloads/SWAGGER-SWAGGER-api/SWAGGER-ui
你做错了,这就是你需要的(如果你的文件位于/Users/faizal/Downloads/SWAGGER/SWAGGER.JSON):
docker run-p 9000:8080-e SWAGGER_JSON=/mnt/SWAGGER.JSON-v/Users/faizal/Downloads/SWAGGER:/mnt swaggerapi/SWAGGER ui
@FaiZalDonghi@psrcek感谢您的回复,我已经按照您的步骤做了,但是SWAGGER仍然使用默认的JSON
https://petstore.swagger.io/v2/swagger.json
。是因为《狂妄自大》的版本吗?@psrcek谢谢你的解释!我的桌面上有一个swagger.json,所以运行这个命令很有效
docker run-p 9000:8080-e swagger_json=/mnt/swagger.json-v~/desktop:/mnt swaggerapi/swagger ui
-正在加载正确的文件。这对我@David来说没问题,但是我如何获取json或YAML文件,或者添加这些行以在docker-compose.yml配置中获取该文件呢大摇大摆的用户界面