https://github.com/swagger-api/swagger-ui上的自述文件指定Swagger-UI可以使用您自己的文件运行,如下所示
docker run -p 80:8080 -e SWAGGER_JSON=/foo/swagger.json -v /bar:/foo swaggerapi/swagger-ui如果我把它翻译成
docker build . -t swagger-ui-local && \
docker run -p 80:8080 -e SWAGGER_JSON=/foo/my-file.json -v $PWD:/foo swagger-ui-local然而,这忽略了我的本地更改。
我可以用以下方法运行本地更改
npm run dev但我不知道如何让这个dev服务器运行除Petstore示例之外的其他任何东西。
谁能帮我把这两者结合起来,这样我就可以用本地代码更改和我自己的swagger.json运行swagger了吗?
发布于 2017-09-16 19:02:10
我为npm run dev想出了办法
将my-file.json放在dev-helpers文件夹中。然后它就可以从http://localhost:3200/上的搜索栏中获得。
若要在打开服务器时自动加载dev-helpers/index.html,请更改
url: "http://petstore.swagger.io/v2/swagger.json"至
url: "my-file.json"发布于 2018-05-10 01:49:43
确保卷正在挂载正确的本地目录。
在本地,我在$PWD/src/app/swagger/swagger.yaml中使用了我的swagger配置。运行以下操作很好:
docker run -p 80:8080 -e SWAGGER_JSON=/tmp/swagger.yaml -v `pwd`/src/app/swagger:/tmp swaggerapi/swagger-ui只需刷新Swagger-UI页面或单击标题中的“探索”按钮即可触发YAML文件中数据的刷新。
您还可以指定BASE_URL摘录自自夸-安装。
docker run -p 80:8080 -e BASE_URL=/swagger -e SWAGGER_JSON=/foo/swagger.json -v /bar:/foo swaggerapi/swagger-ui
发布于 2018-09-25 13:22:50
我之所以找到这个主题,是因为我希望看到本地swagger文件的可视化表示,但似乎无法获得swagger(运行在docker中)来显示除petstore以外的任何内容。
最终,我的问题是理解-e SWAGGER_JSON和-v标志,所以我想在这里解释它们。
-v <path1>:<path2>此选项表示“将路径从我的本地文件系统安装在路径上的swagger-ui停靠容器中”。
-e SWAGGER_JSON=<filepath>此选项表示“默认情况下,在使用docker容器的文件系统时显示文件的显示”。这里最重要的是,这个文件应该考虑到您在上面设置的内容。
把所有这些放在一起,我最终得到了以下结果:
docker run -p 8085:8080 -e SWAGGER_JSON=/foo/swagger.json -v `pwd`:/foo swaggerapi/swagger-ui这里用英语写着:“在端口8085上运行我的swagger-ui实例。将我当前的工作目录安装为'/foo‘在docker容器中。默认情况下,在’/foo/swagger.json‘处显示swagger文件。”
需要注意的是,我的当前工作目录中有一个名为swagger.json的文件。此命令将我当前的工作目录挂载为/foo。然后,swagger可以拿起我的swagger.json作为/foo/swagger.json。
https://stackoverflow.com/questions/46256588
复制相似问题