我正在构建一个基于Flask的应用程序,以使用Docker容器部署到Heroku。虽然我可以在Docker容器中运行应用程序,并可以使用Heroku仪表板上的控制台启动它,但是当我释放它时,它会崩溃并显示H10“应用程序崩溃”错误。
为了找到原因,我提供了Sentry插件并按照说明进行安装。我已经通过Sentry报告了一些错误消息,但是现在它没有报告任何内容(我认为以前的消息可能来自交互式Docker会话)。我一直在寻找可能有帮助的任何文档,但是找不到任何有帮助的文件。
这是我的Dockerfile的内容:
FROM ubuntu:latest
COPY . /hyena
WORKDIR /hyena/
RUN apt update
RUN apt install --ignore-missing -y git mscore xmlstarlet python3.7 python3-distutils python3-pip curl
RUN curl https://cli-assets.heroku.com/install-ubuntu.sh | sh
RUN pip3 install -r requirements.txt
RUN pip3 install --upgrade 'sentry-sdk[flask]==0.7.8'
RUN git clone https://github.com/icwells/unixpath.git && cd unixpath && python3 setup.py install && cd ../ && rm -rf unixpath
ENV LC_ALL C.UTF-8
ENV LANG C.UTF-8
EXPOSE 8000
还有我的heroku.yml(gunicorn在我的requirements.txt文件中):
setup:
addons:
- plan: sentry-clean-70182
build:
docker:
web: Dockerfile
run:
web: gunicorn -w 3 -k gthread "hyena:create_app()"
以及 init .py中的相关行:
import sentry_sdk
from sentry_sdk.integrations.flask import FlaskIntegration
sentry_sdk.init(
dsn="...", # Actual dsn in file
integrations=[FlaskIntegration()]
)
如果我能看到在测功机中产生的错误,我可能会在几分钟之内解决这个问题,但是到目前为止,我还不知道它们是什么。如果任何人都可以在此处(或Heroku)识别我的Sentry配置可能存在的任何错误,那就太好了。
我当然不是Web开发方面的专家,因此对此提供的任何帮助将不胜感激。