12.11_Working with Artifact Registry

eunjoo·2023년 12월 11일
0
export PROJECT_ID=$(gcloud config get-value project)
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
export REGION=us-central1
gcloud config set compute/region $REGION
gcloud services enable \
  cloudresourcemanager.googleapis.com \
  container.googleapis.com \
  artifactregistry.googleapis.com \
  containerregistry.googleapis.com \
  containerscanning.googleapis.com

gcloud 명령어를 사용하여 여러 Google Cloud 서비스를 활성화(Enable)하는 명령어입니다. 각 서비스는 특정한 역할을 수행하며, 이 명령어는 해당 서비스들을 활성화하여 사용할 수 있도록 준비합니다.
여기서 사용된 각 서비스와 해당 역할에 대한 간단한 설명은 다음과 같습니다:

cloudresourcemanager.googleapis.com:
Google Cloud Platform의 리소스 계층을 관리하는 서비스입니다. 프로젝트, 폴더, 조직과 같은 계층적 구조의 리소스를 생성하고 관리하는 데 사용됩니다.

container.googleapis.com:
Google Kubernetes Engine (GKE)를 사용하여 컨테이너화된 애플리케이션을 실행하는 서비스입니다. Kubernetes 클러스터를 만들고 관리하는 데 사용됩니다.

artifactregistry.googleapis.com:
Google Artifact Registry를 사용하여 Docker 이미지와 Maven, npm 등의 패키지를 저장하는 서비스입니다. 개발자들이 소프트웨어 패키지를 중앙 저장소에 저장하고 공유할 수 있도록 지원합니다.

containerregistry.googleapis.com:
Google Container Registry를 사용하여 Docker 이미지를 저장하는 서비스입니다. Docker 이미지를 저장하고 관리하는 데 사용됩니다.

containerscanning.googleapis.com:
Google Container Analysis API를 사용하여 컨테이너 이미지에 대한 취약점 스캔과 이미지에 대한 보안 검사를 수행하는 서비스입니다.

이렇게 서비스를 활성화하는 것은 해당 서비스를 사용할 수 있도록 하는 단계입니다. 이 명령어를 실행하면 프로젝트에 대한 각 서비스가 활성화되고, 해당 서비스를 사용할 수 있게 됩니다.

git clone https://github.com/GoogleCloudPlatform/cloud-code-samples/
cd ~/cloud-code-samples

gcloud artifacts repositories create container-dev-repo --repository-format=docker \
  --location=$REGION \
  --description="Docker repository for Container Dev Workshop"  # repo 저장소만드는 코드

gcloud auth configure-docker $REGION-docker.pkg.dev
docker build -t us-central1-docker.pkg.dev/$PROJECT_ID/container-dev-repo2/java-hello-world:tag1 .
docker push us-central1-docker.pkg.dev/$PROJECT_ID/container-dev-repo2/java-hello-world:tag1


Dockerfile로 이미지 빌드하기

docker build -t $REGION-docker.pkg.dev/$PROJECT_ID/container-dev-repo/java-hello-world:tag1 .

빌드된 이미지를 artfact registry에 push하기

docker push $REGION-docker.pkg.dev/$PROJECT_ID/container-dev-repo/java-hello-world:tag1

docker이미지를 삭제하기

docker images rm [Docker Image ID]
docker image rm $(docker images -q)  #모든 이미지 삭제

docker이미지 가져오기

docker pull $REGION-docker.pkg.dev/$PROJECT_ID/container-dev-repo/java-hello-world:tag1

0개의 댓글