이 페이지에서는 커스텀 Docker 이미지를 Cloud Shell 환경으로 만들고 사용하는 방법을 설명합니다.
커스텀 Cloud Shell 환경을 만들려면 지정된 추가 패키지와 커스텀 구성이 있는 커스텀 Cloud Shell 환경으로 작동하는 Docker 이미지를 만들어야 합니다. Docker 이미지는 기본 Cloud Shell 이미지를 기반으로 하고 Container Registry에 호스팅되어야 합니다.
비공개 Docker 이미지를 사용하려면 Cloud Shell 편집기 대신 Cloud Workstations를 사용하여 컨테이너 이미지를 맞춤설정하는 것이 좋습니다.
커스텀 Docker 이미지 만들기
Cloud Shell 편집기에서 이 태스크의 단계별 안내를 직접 수행하려면 둘러보기를 클릭합니다.
다음 안내에 따라 고유한 커스텀 Docker 이미지를 만듭니다.
Cloud Shell 터미널 탭에서 다음 명령어를 실행하여 Cloud Source Repositories에서 호스팅되는 저장소에 상용구 커스텀 이미지를 만듭니다.
cloudshell env create-custom-image NEW_REPO_NAME
또는 Container Registry에 수동으로 배포하거나 자체 자동화 흐름을 사용하려면 비어 있는 새 Dockerfile을 만들고 3단계로 건너뛰면 됩니다.
명령줄에 출력된 안내를 따라 새 Dockerfile을 엽니다.
cd $HOME/NEW_REPO_NAME && cloudshell edit Dockerfile
첫 번째 줄 아래에 Cloud Shell 환경에 제공하려는 추가 패키지를 추가합니다. 예를 들면 다음과 같습니다.
FROM gcr.io/cloudshell-images/cloudshell:latest RUN apt-get -y install lsof
Dockerfile의 첫 번째 줄인
FROM gcr.io/cloudshell-images/cloudshell:latest
는 기본 Cloud Shell 이미지를 참조하며 이 줄을 삭제해서는 안 됩니다.다음을 실행하여 이미지를 로컬에서 빌드합니다.
cloudshell env build-local
다음을 실행하여 이미지를 로컬에서 테스트하고 설치된 패키지가 있는지 확인합니다.
cloudshell env run
테스트를 종료하려면 다음을 실행합니다.
exit
코드 변경사항을 로컬로 커밋합니다.
git commit -a -m "Initial custom environment check-in."
코드 변경사항을 Cloud Source Repositories로 푸시합니다.
git push origin master
마지막으로 커스텀 이미지를 Container Registry로 푸시합니다.
cloudshell env push
Cloud Shell에서 열기 링크 업데이트
Cloud Shell에서 열기 링크와 함께 커스텀 이미지를 사용하려면 먼저 이미지를 공개로 설정해야 합니다. 커스텀 이미지를 공개로 설정하는 단계는 Container Registry 액세스 제어 가이드를 참조하세요.
올바른 액세스 설정을 지정하면 Cloud Shell에서 열기 링크를 업데이트하여 cloudshell_git_repo
및 cloudshell_image
매개변수를 지정할 수 있습니다. 예를 들어 Cloud Shell에서 열기 버튼을 추가하려면 다음 예시의 URL을 수정한 후 다음과 비슷한 링크를 마크다운 파일에 추가합니다.
[![Open in Cloud Shell](https://gstatic.com/cloudssh/images/open-btn.svg)](https://shell.cloud.google.com/cloudshell/editor?cloudshell_git_repo=REPO_URL&cloudshell_image=DOCKER_IMAGE_URL)
다음 값을 바꿉니다.
- REPO_URL: 저장소 위치의 URL
- DOCKER_IMAGE_URL: Docker 이미지의 URL
이러한 매개변수 및 기타 매개변수에 대한 자세한 내용은 Cloud Shell에서 열기를 참조하세요.
커스텀 컨테이너 이미지를 최신 상태로 유지하기
Cloud Shell에서 작동하려면 커스텀 컨테이너가 최신 공개 Cloud Shell 이미지를 기반으로 해야 합니다. 매주 다시 빌드하여 커스텀 이미지를 최신 상태로 유지하는 것이 좋습니다.