docker AWS App Runner运行状况检查在Python应用程序的端口80上失败

14ifxucb  于 2023-03-07  发布在  Docker
关注(0)|答案(1)|浏览(140)

我有一个处理数据的Python应用程序,我正在Docker中运行它。在本地,它运行得很好。当我第一次尝试在AWS App Runner上运行时,我需要进行健康检查,所以我在Dockerfile中暴露了80端口,并安装了监听该端口的nginx。当我在本地运行container时,我可以访问nginx主页。也可以使用curl。下面是我的Dockerfile。

FROM python:3.9

ENV VIRTUAL_ENV=/opt/venv
RUN python3 -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"

RUN  apt update &&  apt install nginx -y
COPY default /etc/nginx/sites-available/default

COPY requirements.txt .
RUN pip install -r requirements.txt

COPY . .
EXPOSE 80/tcp
COPY start.sh /start.sh
RUN chmod +x /start.sh
CMD ["/bin/bash", "/start.sh"]type here

我试图在AWS应用程序运行器中设置健康检查。我正在端口80上使用TCP检查。由于某些原因,它一直失败。
下面是AWS App Runner的设置:来源:专用ECR部署设置:手动端口:80自动缩放:默认运行状况检查:TCP(我尝试了各种设置都没有成功)安全:使用AWS拥有的密钥(无示例角色)网络:公共访问
你能给我一些建议吗?可能是什么问题?谢谢你提前!

5q4ezhmt

5q4ezhmt1#

通常,健康检查被配置到应用程序运行的同一个端口,不清楚它是否是端口80。
您能否检查应用程序是否在AWS中显示任何错误或是否已正确启动?
在未配置运行状况检查时,是否可以直接访问应用程序?
我的假设是应用程序本身有问题,而不是健康检查。

相关问题