내 앱 작성에 실패하는 이유는 무엇입니까?
앱을 작성할 수 없습니다. 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 허브에 있고 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 허브 또는 IBM Cloud Container Registry 과 같은 컨테이너 이미지 레지스트리에 있는 경우 Code Engine 에 레지스트리 액세스를 추가하고 올바른 레지스트리 비밀 번호를 사용하고 있는지 확인합니다. 컨테이너 이미지 레지스트리의 이미지 작업에 대한 자세한 정보는 개인용 컨테이너 레지스트리에 대한 액세스 권한 추가를 참조하십시오.
-
--memory명령을 사용하여--cpu또는app create옵션을 지정하는 경우 올바른 값을 사용 중인지 확인하십시오. 다음 명령에서--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옵션을 128Mi - 32Gi 범위로 설정하고--cpu옵션을 0.01 - 8.0 vCPU 범위로 설정하십시오. -
리소스 할당량이 초과되었음을 나타내는 오류 메시지를 수신하는 경우, 추가 앱 또는 앱 개정판을 배치하려면 먼저 앱 또는 앱 개정판을 삭제하십시오.
-
앱을 관리하려면
ibmcloud ce app list명령을 사용하여 현재 프로젝트에 있는 모든 앱의 목록을 표시하십시오. 필요에 따라ibmcloud ce app delete명령을 사용하여 앱을 제거하십시오. -
앱 개정을 관리하려면
ibmcloud ce revision list명령을 사용하여 모든 앱 개정을 표시하십시오.
-
-
Docker 허브 비율 한계 문제점을 해결하기 위해 다음 조치를 수행할 수 있습니다.
-
Docker 허브로 인증하여 비율 한계를 늘리십시오. Docker 비율 한계에 유의하십시오.
-
Docker Hub에서 이미지를 가져와서 다른 레지스트리 (예: IBM Cloud® Container Registry) 에 이미지를 공개하십시오. 그런 다음 새 위치에서 이미지를 가져오십시오.
-
이러한 솔루션이 문제점을 해결하지 못하는 경우, 추가 디버깅을 위해 앱에 관한 로그 또는 시스템 이벤트 정보를 검색하십시오. 자세한 정보는 내 앱의 로그를 가져오는 방법 및 내 앱에 관한 시스템 이벤트 정보를 가져오는 방법을 참조하십시오.
앱 작업에 관한 자세한 정보는 앱 배치를 참조하십시오.