我通过使用他们的dockerize图像在本地成功地运行了swagger-ui和swagger-editor,这是我的docker-compose.yml
。
swagger-editor:
image: swaggerapi/swagger-editor
container_name: "swagger-editor"
ports:
- "8081:8080"
networks:
- eb-back_network
swagger-ui:
image: swaggerapi/swagger-ui
container_name: "swagger-ui"
restart: always
ports:
- "8082:8080"
volumes:
- ./swagger/swagger.json:/swagger.json
environment:
SWAGGER_JSON: /swagger.json
networks:
- eb-back_network
我可以在localhost:8081
上访问swagger-editor & swagger-ui on localhost:8082。我通过跟随Container Registry & Runtime (Docker Deploys)部署了我的应用程序o Heroku,它工作得很好,但我无法在Heroku上访问swagger。
我不知道该怎么做?我认为我在本地运行的图像与Heroku无关,或者我必须使用一些插件,但我不知道在heroku上可以访问swagger的URL。
发布于 2020-12-27 23:41:29
一个WebDyno只公开一个端口,所以你不能在同一个Dyno上服务两个应用程序。
您可以合并这两个应用程序,每个应用程序都有不同的url (/swagger-editor
和swagger-ui
)。
或者你可以创建两个Heroku应用程序(每个应用程序一个),这样你就可以得到两个不同的urls (swagger-editor.herokuapp.com
和swagger-ui.herokuapp.com
)。
如果你使用Heroku Docker Registry,这应该很简单:用相同的代码构建2个镜像,但每个Dockerfile启动一个不同的应用程序。
https://stackoverflow.com/questions/65420732
复制相似问题