我只想弄清楚如何使用以下命令使用我自己的openapi.json文件使用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方法可以做到,而不是黑客。
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
,你就完成了
我更喜欢使用docker-compose进行更复杂的运行,以保留yaml文件中的所有选项。然后你需要启动容器就是docker-compose up
。有关应用程序内部的更多选项,您可以使用.env文件。
我认为这是使容器运行的最清晰的方法,并且不需要任何知识来为这个环境的下一个用户/开发人员。