为什么我的应用程序创建失败?
无法创建应用程序。 在 CLI 中运行 ibmcloud ce app create
命令或在控制台中部署应用程序时,应用程序创建未成功完成,并显示 failed
或 revision failed
错误消息。
如果无法创建应用程序,请确定下列其中一种情况是否为 true。
-
应用程序的名称在项目中不唯一。 您收到包含
Application 'myapp' already exists within project 'myproj', please select a unique name.
的错误消息 -
应用程序的名称无效。 您收到包含
An application name must consist of lowercase alphanumeric characters, '-' and must start with an alphabetic character and end with an alphanumeric character.
的错误消息 -
如果您引用的映像不存在,那么应用程序创建不会完成,并且会发生错误。 您收到包含
Unable to pull the image
的错误消息。 -
如果您没有访问所引用映像的许可权,那么应用程序创建将不会完成,并且会发生错误。 您收到包含
Unable to pull the image
的错误消息。 -
内存或 CPU 设置无效。 您接收到包含
memory parameter must be between .25 G and 32 G
或cpu parameter must be between .0125 and 8.0
的错误消息。有关应用程序的 Code Engine 限制的更多信息,请参阅 Code Engine。 -
已达到应用程序或应用程序修订版的资源配额,并且未创建应用程序 (或应用程序修订版)。Code Engine 具有项目中应用程序和应用程序修订版的配额。 有关 Code Engine 限制的更多信息,请参阅 项目配额。
-
如果应用程序的映像位于 Docker Hub 中,并且您收到类似的错误消息,指示您已达到 Docker 拉取速率限制。
429 Too Many Requests - Server message: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit ”
尝试其中一个解决方案。
-
要确定应用程序的名称在项目中是否唯一,请使用
ibmcloud ce app list
命令列出所有已定义的应用程序,并检查是否存在同名的应用程序。 如果存在同名应用程序,请使用ibmcloud ce app delete --name APP_NAME
来删除旧应用程序。 应用程序的名称在项目中必须唯一。 -
要确认应用程序的名称是否有效,请检查应用程序的名称是否由小写字母数字字符 "-" 组成,以及名称是否以字母字符开头和结尾。
-
要确认应用程序的映像是否存在,请查看错误消息以获取有关失败的信息。
a. 要在 Code Engine中部署应用程序,您需要首先创建一个容器映像,其中包含应用程序需要运行的所有运行时工件,例如运行时库。 您可以使用许多不同的方法来创建映像,包括使用 Code Engine中提供的 构建容器映像 功能从源代码构建应用程序。 可以从公共或专用映像注册表下载映像。 有关访问专用注册表的更多信息,请参阅 添加对专用容器注册表的访问权。
b. 如果在 Code Engine CLI 中使用
app create
命令,请使用格式REGISTRY/NAMESPACE/REPOSITORY:TAG
指定用于应用程序的映像的名称,其中REGISTRY
和TAG
是可选的。 如果未指定REGISTRY
,那么缺省值为docker.io
。 如果未指定TAG
,那么缺省值为latest
。 有关用于指定映像存储库的格式的更多信息,请参阅ibmcloud ce app create
命令。 -
要确认您可以访问引用的映像,请验证映像的位置,并确认您具有访问该映像的许可权。
如果映像位于容器映像注册表 (例如,Docker Hub 或 IBM Cloud Container Registry) 中,请检查您是否添加了对 Code Engine 的注册表访问权,以及您是否正在使用正确的注册表私钥。 有关在容器映像注册表中使用映像的更多信息,请参阅 添加对专用容器注册表的访问权。
-
如果使用
app create
命令指定--memory
或--cpu
选项,请确认您正在使用有效值。 在以下命令中,为--memory
和--cpu
指定的值无效; 例如,ibmcloud ce app create --name myapp --image icr.io/codeengine/codeengine --memory 50Gi --cpu 20
示例输出
Creating application 'myapp'... FAILED memory parameter must be between 128Mi and 32Gi cpu parameter must be between .01 and 8.0
要修正错误,请将
--memory
选项设置为介于 128 Mi 与 32 Gi 之间,并将--cpu
选项设置为介于 0.01 与 8.0 vCPU之间。 -
如果收到指示超出资源配额的错误消息,请先删除应用程序或应用程序修订版,然后才能部署其他应用程序或应用程序修订版。
-
要管理应用程序,请使用
ibmcloud ce app list
命令来显示当前项目中所有应用程序的列表。 根据需要使用ibmcloud ce app delete
命令来除去应用程序。 -
要管理应用程序修订版,请使用
ibmcloud ce revision list
命令来显示所有应用程序修订版。
-
-
要解决 Docker Hub 速率限制问题,您可以执行以下操作。
-
向 Docker Hub 认证以提高速率限制。 请注意 Docker 速率限制。
-
从 Docker Hub 中拉取映像,并在其他注册表 (例如 IBM Cloud® Container Registry) 中发布该映像。 然后,从新位置提取图像。
-
如果这些解决方案无法解决您的问题,请尝试检索应用程序的日志或系统事件信息以进行进一步调试。 有关更多信息,请参阅 How do I get logs for my apps 和 How do I get system event information for my apps。
有关使用应用程序的更多信息,请参阅 部署应用程序。