我的python应用程序可以作为本地docker容器正常运行,但是当尝试在heroku上进行部署时,出现此错误:
错误R10(引导超时)-> Web进程在启动后60秒内未能绑定到$ PORT
if __name__ == '__main__':
from os import environ
app.run(host='0.0.0.0', port=environ.get('PORT', 5000))
我的dockerfile:
FROM python:3
# set a directory for the app
WORKDIR /usr/src/app
# copy all the files to the container
COPY . .
# install dependencies
RUN pip3 install --no-cache-dir -r requirements.txt
# heroku doesn't need this
# EXPOSE 5000
# run the command
CMD ["python3", "app.py"]
我认为这可能与dyno = 1的应用太大有关,我不得不为增加dyno而付出代价吗?但我不确定。.
提前谢谢!
答案 0 :(得分:2)
应用程序无法绑定到Heroku端口,与Dyno无关。尝试在分配端口之前强制转换为int端口
port = int(os.environ.get("PORT", 5000))