当前位置: 首页 > 知识库问答 >
问题:

将Docker映像部署到Heroku时出现R10错误

方绪
2023-03-14

当我试图将包含一个简单的streamlit应用程序的Docker映像部署到Heroku时,我遇到了一些初期问题。我的问题是,部署后我无法访问我的Docker。经过仔细观察,我发现了以下错误:

错误R10(启动超时)-

我研究并了解到这是因为端口不可用,因为Heroku将动态分配端口号。

我在Dockerfile中添加了以下内容,以确保不会发生这种情况。

FROM python:3.7
COPY . /app
WORKDIR /app
RUN pip install streamlit
ENTRYPOINT ["streamlit","run", "--server.enableCORS", "false" ,"--server.port", "$PORT"]
CMD ["app.py"]

我现在可以看到网络URL和外部URL端口号是由Heroku分配的,因为它不是典型的5901号。

然而让我不解的是,为什么容器无法绑定到给定的动态端口号?我以为应用程序会使用给定的动态号码?

共有1个答案

昝阳嘉
2023-03-14

问题是当在Heroku Docker注册表上执行Docker运行时,<code>$PORT</code>不会被相应的环境变量替换。

另一种方法是创建一个调用. sh脚本的Docker文件

FROM python:3.7 
COPY . /app 
WORKDIR /app 
RUN pip install streamlit


ENTRYPOINT "/startup.sh"

和startup.sh

echo PORT $PORT
streamlit run --server.enableCORS false --server.port $PORT app.py
 类似资料:
  • 我的python应用程序作为本地docker容器运行良好,但当尝试在heroku上部署时,我得到以下错误: 错误R10(启动超时)- 我的dockerfile文件: 我认为这可能与应用程序对于dyno=1来说有点太大有关,我必须付费才能增加dyno?但是我不确定.. 提前感谢!!

  • 我正在尝试将我的应用程序部署到Heroku,但似乎存在一些问题。每次我尝试: 我的heroku日志告诉我,我的应用程序崩溃了,我错过了“调试器”宝石。我在Heroku上找到了这条线索和这一页。当我尝试安装“byebug”gem时,bundle告诉我它不会安装在Ruby 1.9.3上,当我按照Heroku的建议将“debugger”gem放在gem文件的开发组中时,我仍然会收到相同的错误。 我也更新

  • 我有一个vuejs应用程序,它是用vue cli设置的,我正在尝试将我的应用程序部署到Heroku。 这是我的服务器: 我从gitignore中删除dist, 我在package.json中添加了一个类似“start”的起始点:“node server.js” 以下是我在控制台看到的内容: 加载资源失败:服务器响应,状态为503(服务不可用)/Favicon.ico:1 以下是heroku日志:

  • 在Heroku上部署Node.js应用程序时,我遇到以下错误。 2017-04-18T18:40:10.158442+00:00APP[Web1]:npm错误!请在任何支持请求中包含以下文件: 2017-04-18T18:40:10.158544+00:00APP[Web1]:npm错误!/app/npm-debug.log 2017-04-18T18:40:10.237236+00:00 Her

  • 问题内容: 因此,我正在遵循来自Heroku和Django的入门指南。但是,当我运行此命令时: 我得到这个错误 我以为这意味着尚未设置数据库…所以我也手动添加了shared_db选项: 但是..我仍然收到相同的错误。是什么赋予了? 问题答案: 我的应用程序结构已关闭… heroku希望结构看起来像这样:

  • 我正在尝试在GoogleKubernetes引擎中的docker映像中安装fuse。 这是我的多克文件: 但是当我尝试构建这个图像时,我得到了以下错误: 我试图在docker容器内的ubuntu映像上运行这个程序,以访问容器内的Google云存储。 我只想在我的容器内下载gcsfuse,我已经尝试了很多事情,最终都出现了错误,但这个错误似乎是最合理的错误,所以我问这个,但如果有更好的方法来下载保险