docker - Heroku的Docker应用程序在超过40层启动时崩溃

标签 docker heroku

我有一个应用程序,可以通过其Docker容器部署到Heroku。几次我的Dockerfile已经超过40层。每次发生这种情况时,我的应用都会拒绝启动,只是显示为“崩溃”状态。 (相同的图像可以在本地启动一个容器)。

我相信他们的CS建议将我的计数降低到40层以下。果然,当层数为40或更少时,应用程序将正常启动。除了合并一些命令以减少层数外,我几乎不做任何更改。

任何人都可以阐明为什么Heroku会有这样的无证层限制吗?

最佳答案

该约束实际上记录在here中。

主要原因是在后台,Heroku没有运行Docker Daemon(至少在2019年初)。他们下载每个docker层并将其转换为LXC容器,这就是平台上的所有dyno。

约40层的限制是由于内部超时而引起的,因为要下载更多的层才能启动dyno,内部超时的可能性要高得多。
这是一个近似约束,因为它还取决于所有这些图层的大小。

关于docker - Heroku的Docker应用程序在超过40层启动时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54568059/

相关文章:

node.js - 将 Angular 5 + Nodejs Express 应用程序部署到 Heroku

mysql - Playframework 2.2 和 Heroku : Unable to connect to non-Heroku database

python - 为什么这些 apt-packages 在 Ubuntu 和 Heroku 上表现不一样?

mysql - 无法连接到 mysql docker 容器

postgresql - 如何在启用 TLS 配置的情况下连接到 Traefik TCP 服务?

typescript - XSym : not found while executing binary in Docker on Windows

php - 如何修复Page Insights利用Google Cloud,Docker,Nginx和Laravel进行缓存?

python - 如何在以golang为基础镜像的docker中安装python3?

javascript - Rails 4 - 不包含 js 或图像的 heroku 生产版本

ssl - celery - [SSL : CERTIFICATE_VERIFY_FAILED] certificate verify failed