Google Cloud CLI Docker 이미지 설치

Google Cloud CLI Docker 이미지를 사용하면 Container Registry에서 특정 버전의 gcloud CLI를 Docker 이미지로 가져오고, 격리되어 올바르게 구성된 컨테이너에서 Google Cloud CLI 명령어를 빠르게 실행할 수 있습니다.

Google Cloud CLI Docker 이미지는 Debian 또는 Alpine 이미지 위에 설치되는 gcloud CLI입니다. Docker 이미지 자체는 Container Registry에서 호스팅되며 저장소 이름은 gcr.io/google.com/cloudsdktool/google-cloud-cli입니다. us.gcr.io, eu.gcr.io, asia.gcr.io 저장소를 사용하여 이미지를 사용할 수도 있습니다.

Docker 이미지 옵션

Google Cloud CLI Docker 이미지에는 latest, slim, emulators, debian_component_based, alpine의 5가지가 있습니다. 호스트 저장소 이름 뒤에 적절한 태그를 사용하여 환경설정을 지정할 수 있습니다.

  • :latest, :VERSION: 추가 구성요소가 사전 설치된 큰 (Debian 기반) 이미지입니다.
  • :slim, :VERSION-slim: 구성요소가 사전 설치되지 않은 작은 (Debian 기반) 이미지입니다.
  • :emulators, :VERSION-emulators: 에뮬레이터 구성요소가 사전 설치된 작은 (Debian 기반) 이미지입니다.
  • :alpine, :VERSION-alpine: 추가 구성요소가 설치되지 않은 가장 작은 (Alpine 기반) 이미지입니다. 이 이미지는 linux/arm을 지원합니다.
  • :debian_component_based, :VERSION-debian_component_based: 모든 구성요소가 포함된 Debian 기반 이미지입니다. deb 패키지가 사용된 :latest와 반대로 이 이미지는 구성요소 관리자를 사용해서 구성요소를 설치합니다. 이 이미지는 linux/arm을 지원합니다.

지정된 Docker 이미지 설치

  1. 최신 Google Cloud CLI 출시 버전의 이미지(gcr.io/google.com/cloudsdktool/google-cloud-cli:latest)를 사용하려면 다음 명령어를 실행하여 Container Registry에서 가져옵니다.

    docker pull gcr.io/google.com/cloudsdktool/google-cloud-cli:latest
    
  2. 최신 버전을 가져온 경우 다음 명령어를 실행하여 설치를 확인합니다.

    docker run --rm gcr.io/google.com/cloudsdktool/google-cloud-cli:latest gcloud version
    

    특정 버전을 가져온 경우에는 다음 샘플과 유사한 명령어를 실행하여 설치를 확인합니다.

    docker run --rm gcr.io/google.com/cloudsdktool/google-cloud-cli:372.0.0 gcloud version
    
  3. 다음 명령어를 실행하여 Google Cloud CLI에 인증합니다.

    docker run -ti --name gcloud-config gcr.io/google.com/cloudsdktool/google-cloud-cli gcloud auth login
    

    인증이 성공하면 gcloud-config container의 볼륨에 사용자 인증 정보가 보존됩니다.

  4. --volumes-from과 함께 컨테이너를 실행하여 다음 사용자 인증 정보를 사용하여 확인하는 컴퓨팅 인스턴스를 나열합니다.

    docker run --rm --volumes-from gcloud-config gcr.io/google.com/cloudsdktool/google-cloud-cli gcloud compute instances list --project your_project
    

추가 구성요소 설치

기본적으로 최신 이미지(gcr.io/google.com/cloudsdktool/google-cloud-cli:latestgcr.io/google.com/cloudsdktool/google-cloud-cli:VERSION)에는 모든 Google Cloud CLI 구성요소가 설치되어 있습니다.

하지만 gcr.io/google.com/cloudsdktool/google-cloud-cli:slim, gcr.io/google.com/cloudsdktool/google-cloud-cli:emulators, gcr.io/google.com/cloudsdktool/google-cloud-cli:alpine 이미지는 추가 구성요소가 미리 설치된 상태로 제공되지 않습니다. 다음 안내에 따라 이미지를 확장할 수 있습니다.

Debian 기반 이미지

google-cloud-sdk-datastore-emulator와 같은 추가 구성요소를 설치하려면 다음 명령어를 실행합니다.

cd debian_slim/

docker build --build-arg CLOUD_SDK_VERSION=159.0.0 \
    --build-arg INSTALL_COMPONENTS="google-cloud-sdk-datastore-emulator" \
    -t my-cloud-sdk-docker:slim .

Alpine 기반 이미지

Alpine 기반 이미지의 추가 구성요소를 설치하려면 Google Cloud CLI 이미지를 기본 이미지로 사용하는 Dockerfile을 만듭니다. 예를 들어 kubectlapp-engine-java 구성요소를 추가하려면 다음과 비슷한 Dockerfile을 만듭니다.

FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:alpine
RUN apk --update add openjdk7-jre
RUN gcloud components install app-engine-java kubectl

완료되면 다음 명령어를 실행합니다.

docker build -t my-cloud-sdk-docker:alpine .

특정 버전의 Google Cloud CLI 설치

특정 Google Cloud CLI 버전을 설치하려면 docker build 명령어를 실행할 때 선호하는 gcloud CLI 버전을 지정합니다.

docker build -t my-cloud-sdk-docker:alpine --build-arg CLOUD_SDK_VERSION=<release_number> .