【发布时间】:2021-01-21 00:51:15
【问题描述】:
我有一个 Docker 应用程序,用于构建和运行:
docker build -t swagger_server .
docker run -p 8080:8080 swagger_server
Dockerfile 看起来像这样:
FROM python:3-alpine
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY requirements.txt /usr/src/app/
RUN pip3 install --no-cache-dir -r requirements.txt
COPY . /usr/src/app
EXPOSE 8080
ENTRYPOINT ["python3"]
CMD ["-m", "swagger_server"]
这本身相当简单,但我正在努力将这个 Dockerfile 部署到 Heroku。我已将 Heroku 连接到每次推送时自动部署,但到目前为止还没有配置任何东西。它成功构建并运行应用程序,但我认为它只运行 python 应用程序而不暴露任何端口。
Heroku 有 a documentation-page on their website,但是我不明白如何在 heroku.yml 中指定端口或构建标签。
提供更多上下文:我想部署一个由 swagger-codegen 自动生成的 Python/Flask-Application。我可以在本地访问 API,无论我是在 conda 环境中还是使用 docker 运行它。
有人可以向我解释一下它应该如何工作吗?
【问题讨论】:
标签: python docker heroku swagger web-deployment