我只是想出了如何使用以下命令通过我自己的openapi.json文件启动swagger-ui并与Docker一起运行:
docker run -p 80:8080 -e SWAGGER_JSON=/foo/openapi.json -v ~/source:/foo swaggerapi/swagger-ui
openapi.json
文件在源代码管理中,可以在许多地方运行。
除了将其放入自述文件中之外,是否有任何其他方法可以使该命令易于重新运行?我可以为此使用Dockerfile吗?或者我可以使用docker-compose吗?最重要的部分是使其变得容易,然后使其变得易于更改/添加选项。
我也知道我可以使用可以更改的bash脚本,但是我想知道是否有任何Docker方式可以做到这一点,而不是黑客。
答案 0 :(得分:1)
我更喜欢使用docker-compose进行更复杂的运行,以将所有选项保留在yaml文件中。然后,您只需要启动docker-compose up
容器即可。
要在应用程序内获取更多选项,可以使用.env文件。
我认为这是使容器运行的最清晰方法,并且不需要该环境的下一个用户/开发人员任何知识。
答案 1 :(得分:1)
docker-compose是您的理想解决方案:
//docker-compose.yml
version: '3.7'
services:
swagger:
image: swaggerapi/swagger-ui
ports:
- "80:8080"
environment:
- SWAGGER_JSON=/foo/openapi.json
volumes:
- "~/source:/foo "
要运行它,只需按docker-compose up
,就可以设置