IBM Cloud Container Registry의 이미지에서 작업 작성
IBM Cloud® Container Registry에 있는 이미지를 사용하는 작업 구성을 작성하십시오. 콘솔 또는 CLI를 사용하여 작업을 작성할 수 있습니다.
시작하기 전에
-
Container Registry에 이미지가 있어야 합니다. 자세한 정보는 Container Registry 시작하기를 참조하십시오. 또는 저장소 소스 또는 로컬 소스에서 이미지를 빌드할 수 있습니다.
-
레지스트리에 액세스할 수 있는지 확인하십시오. 컨테이너 레지스트리에 대한 권한 설정을 참조하십시오.
프로젝트의 모든 사용자가 레지스트리 시크릿을 수동으로 생성할 필요 없이 Container Registry 에 이미지를 저장하고 액세스할 수 있도록 프로젝트를 구성하고 싶으신가요? 충분한 권한을 사용하여 위치 (지역) 별로 이 기본 레지스트리 액세스를 구성할 수 있습니다. 이러한 조치를 수행할 수 있는 충분한 권한이 없는 경우 이 페이지를 사용하면 필수 권한을 이해하는 데 도움이 됩니다. 프로젝트 전체 설정 구성 을 참조하십시오.
콘솔을 사용하여 Container Registry의 이미지를 참조하는 작업 작성
Container Registry 콘솔을 사용하여 Code Engine에 있는 이미지를 사용하는 작업 구성을 작성하십시오.
Code Engine은 계정에 있는 Container Registry 네임스페이스로부터 이미지를 자동으로 가져올 수 있습니다. 다른 Container Registry 계정 또는 개인용 Docker Hub 계정에서 이미지를 가져오려면 개인용 레지스트리의 이미지에서 작업 작성을 참조하십시오.
- Code Engine 콘솔을 여십시오.
- '만들기 시작'을 선택하세요.
- 사용 가능한 프로젝트 목록에서 프로젝트를 선택하십시오. 프로젝트를 새로 작성할 수도 있습니다. 작업을 작성하려면 선택한 프로젝트가 있어야 합니다.
- 작업을 선택하십시오.
- 작업의 이름을 입력하십시오(예:
myjob). - '기존 컨테이너 이미지 사용'을 선택한 다음 '이미지 구성'을 클릭합니다.
IBM Registry Dallas과 같은 컨테이너 레지스트리 위치를 선택하세요.- 레지스트리 시크릿에 대해
Code Engine managed secret를 선택하십시오. 이 예제에서는 사용자의 계정 내 Container Registry 네임스페이스에 있는 이미지를 사용하므로, Code Engine 에서 레지스트리 시크릿을 자동으로 생성하고 관리해 줍니다. - Code Engine 작업에서 참조할 이미지의 기존 네임스페이스 및 이름을 레지스트리에서 선택하십시오. 예를 들어
mynamespace를 선택하고 해당 네임스페이스에서hello_repo이미지를 선택하십시오. - 태그 값을 선택하십시오(예:
latest). - 완료를 클릭하십시오.
- 환경 변수 또는 런타임 설정의 기본값을 수정하십시오. 이러한 옵션에 대한 자세한 정보는 작업 작성 및 실행 옵션을 참조하십시오.
- 작업 작성 페이지에서 작성을 클릭하십시오.
- 작업이 작성되면 특정 작업에 대한 작업 페이지가 열립니다. 작업 페이지에서 작업 제출을 클릭하여 현재 구성을 기반으로 하는 작업을 제출하십시오.
작업을 작성하고 작업을 실행했으므로 작업 페이지에서 작업 구성 및 작업 실행에 대한 세부사항을 확인할 수 있습니다.
작업을 작성하기 전에 레지스트리 액세스를 추가하려면 컨테이너 레지스트리에 액세스를 참조하십시오.
CLI에서 Container Registry의 이미지로 작업 작성
CLI에서 IBM Cloud® Container Registry의 이미지를 사용하는 작업 구성을 작성하려면 job create 명령을 사용하십시오. 전체 옵션 목록은 ibmcloud ce job create 명령을 참조하십시오.
시작하기 전에
- Code Engine CLI 환경을 설정하십시오.
- 프로젝트를 작성하고 작업하십시오.
- Container Registry의 이미지를 참조하는 Code Engine 작업에 대해 작업하려면 먼저 레지스트리에 대한 액세스 권한을 추가해야 작업이 실행될 때 Code Engine에서 이미지를 가져올 수 있습니다. 이미지 레지스트리에 액세스하는 데 필요한 권한에 대한 정보는 이미지 레지스트리의 권한 설정을 참조하십시오.
-
Container Registry에 대한 액세스 권한을 추가하려면 IAM API 키를 작성하십시오. CLI에서 IBM Cloud IAM API 키를 작성하려면
iam api-key-create명령을 실행하십시오. 예를 들어, 설명이My CLI API key인cliapikey라는 API 키를 생성하여key_file라는 파일에 저장하려면 다음 명령을 실행하십시오:ibmcloud iam api-key-create cliapikey -d "My CLI API key" --file key_file키를 파일에 저장하지 않도록 선택한 경우 키를 작성할 때 표시되는 API 키를 기록해 두어야 합니다. 나중에 검색할 수 없습니다.
-
API 키를 작성한 후 Code Engine에 대한 레지스트리 액세스를 추가하십시오. CLI를 사용하여 Container Registry 에 대한 액세스를 추가하려면
ibmcloud ce secret create --format registry명령을 사용하여 레지스트리 시크릿을 작성하십시오. 예를 들어, 다음 명령어는myregistry라는 Container Registry 인스턴스에 대한 레지스트리 액세스 권한을 생성합니다.--server및--username옵션이 예제 명령에 지정되어 있더라도 서버가--server인 경우us.icr.io옵션의 기본값은--username이고iamapikey옵션의 기본값은us.icr.io입니다.ibmcloud ce secret create --format registry --name myregistry --server us.icr.io --username iamapikey --password APIKEY출력 예
Creating registry secret 'myregistry'... OK -
작업 구성을 작성하고 Container Registry에 있는
hello_repo이미지를 참조하십시오. 예를 들어, 다음job create명령은myhellojob액세스 정보를 사용하여us.icr.io/mynamespace/hello_repo를 참조하는myregistry작업을 작성합니다.ibmcloud ce job create --name myhellojob --image us.icr.io/mynamespace/hello_repo --registry-secret myregistry이 작업의 이미지 이름 형식은
REGISTRY/NAMESPACE/REPOSITORY:TAG입니다. 여기서REGISTRY및TAG는 선택사항입니다.REGISTRY를 지정하지 않으면 기본값은docker.io입니다.TAG를 지정하지 않으면 기본값은latest입니다.
다음 단계
-
작업을 작성한 후 작업을 제출하여 실행하십시오. 작업 실행을 참조하십시오. 작업은 여러 번 실행할 수 있습니다.
-
작업을 실행한 후 작업 및 작업 실행의 세부사항을 보려면 작업 세부사항 액세스를 참조하십시오.
-
작업이 작성되었으므로 작업을 이벤트 기반 작업으로 설정하십시오. 이벤트 구독을 사용하여 정기적인 스케줄에 따라 작업을 트리거하거나 파일 업로드 등의 이벤트에 대응하도록 작업을 설정할 수 있습니다.
-
작업 작성 방식이나 이전의 업데이트 방식에 관계없이 다음 방법 중 하나로 작업을 업데이트하고 참조 코드를 업데이트할 수 있습니다.
-
Open Container Initiative(OCI)표준에 따라 컨테이너 이미지가 있는 경우, 작업을 생성(또는 업데이트)할 때 해당 이미지의 위치로 연결되는 컨테이너 레지스트리 경로를 참조하기만 하면 됩니다. 공개 레지스트리나 비공개 레지스트리에 있는 이미지를 사용하여 작업을 생성(또는 업데이트)한 다음, 작업 실행 시 참조된 이미지에 액세스할 수 있습니다.
job create명령을 사용하여 작업을 작성하고 로컬 또는 저장소 소스에서 컨테이너 이미지를 빌드하도록--build-source옵션을 지정했으며 다른 컨테이너 이미지를 가리키도록 작업을 변경하려는 경우 먼저 작업에서 빌드의 연관을 제거해야 합니다. 예를 들어,ibmcloud ce job update -n JOB_NAME --build-clear를 실행하십시오. 작업에서 빌드의 연관을 제거한 후 다른 이미지를 참조하도록 작업을 업데이트할 수 있습니다. -
Git 저장소에 있는 소스 코드로 시작하는 경우, Code Engine에서 한 번의 오퍼레이션으로 소스에서 이미지를 빌드하고 작업을 작성하거나 업데이트하도록 선택할 수 있습니다. 이 경우 Code Engine은 이미지를 IBM Cloud® Container Registry에 업로드합니다. 자세한 정보는 저장소 소스 코드에서 작업 작성을 참조하십시오. 이미지 빌드를 더 많이 제어하려면 작업을 작성 또는 업데이트하고 작업을 실행하기 전에 Code Engine을 사용하여 이미지를 빌드하도록 선택할 수 있습니다.
-
로컬 워크스테이션에 있는 소스 코드로 시작하는 경우, Code Engine에서 하나의 CLI 명령으로 소스에서 이미지를 빌드하고 작업을 작성하도록 선택할 수 있습니다. 이 경우 Code Engine은 이미지를 IBM Cloud® Container Registry에 업로드합니다. 자세한 정보는 CLI를 사용하여 로컬 소스 코드에서 작업 작성을 참조하십시오. 이미지 빌드를 더 많이 제어하려면 작업을 작성 또는 업데이트하고 작업을 실행하기 전에 Code Engine을 사용하여 이미지를 빌드하도록 선택할 수 있습니다.
예를 들어, 사용자가 작업에 대한 소스 개발을 진행하는 동안 Code Engine에서 로컬 소스의 빌드를 처리하도록 선택할 수 있습니다. 그런 다음 이미지가 만기되면 원하는 특정 이미지를 참조하도록 작업을 업데이트할 수 있습니다. 이 프로세스는 필요에 따라 반복할 수 있습니다.
업데이트된 작업을 실행할 때 이미지에 대해 태그를 지정하지 않는 한 참조된 컨테이너 이미지의 최신 버전이 작업 실행에 사용됩니다. 이미지에 대해 태그를 지정한 경우 태그 지정된 이미지가 작업 실행에 사용됩니다.
-
더 많은 코드 예를 찾고 계십니까? IBM Cloud Code Engine GitHub 저장소의 예제를 확인해 보세요.