Cloud SDK Docker 이미지 설치

Cloud SDK Docker 이미지는 기본적으로 Debian 기반 OS 이미지 위에 설치되는 Cloud SDK입니다.

이를 통해 원하는 버전의 Cloud SDK를 Dockerhub에서 Docker 이미지로 가져올 수 있으며, 격리되고 올바르게 구성된 컨테이너 내에서 빠르게 gcloud 명령어를 실행할 수 있습니다.

Docker 이미지 자체는 Container RegistryDocker Hub 모두에서 다음 저장소 이름으로 호스팅됩니다.

  • Container Registry: gcr.io/google.com/cloudsdktool/cloud-sdk
  • Docker Hub: google/cloud-sdk

Docker 이미지 옵션

Cloud SDK Docker 이미지는 latest, slim, alpine 등 세 가지 버전으로 제공됩니다. 호스트 저장소 이름 뒤에 적절한 태그를 사용하여 환경설정을 지정할 수 있습니다.

  • :latest, :VERSION: 추가 구성요소가 사전 설치된 큰 (Debian 기반) 이미지
  • :slim, :VERSION-slim: 구성요소가 사전 설치되지 않은 작은 (Debian 기반) 이미지
  • :alpine, :VERSION-alpine: 추가 구성요소가 설치되지 않은 가장 작은 (Alpine 기반) 이미지

지정된 Docker 이미지 설치

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

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

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

    또는 특정 버전 266.0.0의 경우 다음 명령어를 실행합니다.

    docker run gcr.io/google.com/cloudsdktool/cloud-sdk:266.0.0 gcloud version
    
  3. 다음 명령어를 실행하여 gcloud 명령줄 도구에 인증합니다.

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

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

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

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

추가 구성요소 설치

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

하지만 gcr.io/google.com/cloudsdktool/cloud-sdk:slimgcr.io/google.com/cloudsdktool/cloud-sdk: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 기반 이미지의 추가 구성요소를 설치하려면 Cloud SDK 이미지를 기본 이미지로 사용하는 Dockerfile을 만듭니다. 예를 들어 kubectlapp-engine-java 구성요소를 추가하려면 다음과 비슷한 Dockerfile을 만듭니다.

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

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

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

Cloud SDK의 특정 버전 설치

특정 Cloud SDK 버전을 설치하려면 다음과 같이 docker build 명령어를 실행할 때 원하는 버전을 전달합니다.

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