[Docker]8. GCP Artifact Registry [도커 기초 | Week 4]
DevOps/Docker

[Docker]8. GCP Artifact Registry [도커 기초 | Week 4]

목차

- GCP Artifact Registry 환경설정

- GCP 실습

- auth, tag, push


GCP Artifact Registry 환경설정

 

https://cloud.google.com/

 

클라우드 컴퓨팅 서비스  |  Google Cloud

데이터 관리, 하이브리드 및 멀티 클라우드, AI와 머신러닝 등 Google의 클라우드 컴퓨팅 서비스로 비즈니스 당면 과제를 해결하세요.

cloud.google.com

 

Console로 이동합니다.

 

 

 

이동한 후 새롭게 프로젝트를 생성합니다.

 

 

새 프로젝트의 이름과 ID를 설정합니다.

프로젝트 ID는 생성 후 수정이 되지 않습니다.

 

 

해당 프로젝트를 아래처럼 선택해줍니다

 

GCP 기능을 이용하려면 결제정보가 필요합니다. 

 

 

결제 계정을 추가해줍니다.

결제 계정 연결

라이브러리에 들어갑니다

 

-Artifact Registry

-Cloud Build

이 두 가지를 검색 후 각 페이지에서 사용 버튼을 눌러줍니다

 

 

사용 체크 후 메뉴바에서 Artifact Registry의 저장소로 들어갑니다.

 

저장소 만들기를 선택해서 저장소를 만들어줍니다.

아래와 같이 만들어 줍니다.

잘 만들어진 모습입니다

 

 


실습

 

리눅스 도커 보안 그룹 설정

 

sudo usermod -a -G docker [계정명]

GCP CLI를 사용하기 전에 보안 그룹에 현재 사용 중인 계정명을 추가합니다. 이후에는 sudo 명령어를 함께 입력하지 않아도 docker 명령어를 사용할 수 있습니다.

 

 

 

google cloud SDK 패키지 경로 추가

 

echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list

패키지 소스 URI를 추가해줍니다. 우리가 사용하려는 gcloud는 이 경로를 통해 내려받게 됩니다.

 

 

 

google cloud SDK 공개키 내려받기

 

curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -

 

 

 

google cloud SDK 설치

 

sudo apt-get update && sudo apt-get install google-cloud-sdk

google cloud SDK 설치를 진행합니다. 기타 패키지에 비해 용량이 큰 관계로 다소 시간이 소요됩니다

 

본인의 경우, 정말 오래 걸린 것 같습니다. 5분 정도 화면이 멈춰져 있었네요.

 

 

 

google cloud SDK 초기화

 

gcloud init

google cloud SDK 초기화를 위해 gcloud init 명령을 실행하였습니다. 이후 google 계정에 로그인을 할 수 있는 링크가 나오게 되는데 링크에 접속하여 인증코드를 복사한 후 프롬프트에 붙여 넣기 하시면 됩니다. 도커 허브 계정으로 로그인했던 것에 비해서 다소 복잡하다고 느끼실 수 있으나 차근차근 진행해주시면 됩니다.

성공적으로 로그인이 되었다면 프로젝트를 선택하는 프롬프트가 뜨는데, 위에서 생성했던 프로젝트를 선택해주시면 됩니다.

 

 

 

 

 

GCP Registry 저장소 인증

 

sudo gcloud auth configure-docker asia-northeast3-docker.pkg.dev

 

 

이 명령은 루트 권한이 필요하므로 반드시 sudo 명령을 붙여주셔야 합니다. 정상적으로 실행이 되면 /home/<usename>/docker/config.json 이라는 파일과 함께 저장소 경로가 등록됩니다.

 

 

 

이미지 태깅

 

sudo docker tag heansum1556/portfolio:1.0 asia-northeast3-docker.pkg.dev/[프로젝트ID]/[저장소명]/portfolio

 

GCP의 레지스트리에 이미지를 업로드하려면 이미지명 양식을 맞춰 주어야 합니다. 이미 도커 허브와 로컬 레지스트리 구축 때에도 한 번 실습을 진행했었죠. 이미지명이 너무 길어서 한숨이 나오실 수도 있지만 GCP 콘솔의 저장소로 들어가시면 저렇게 클립보드로 복사해주는 버튼이 있습니다.

 

 

이미지 공유

 

sudo docker push asia-northeast3-docker.pkg.dev/[프로젝트ID]/[저장소명]/portfolio

드디어 이미지를 공유하는 순간입니다. 명령이 성공적으로 실행되면 이미지와 같이 GCP에 생성한 저장소 경로가 나옵니다. GCP 콘솔에서도 정보들을 확인할 수 있죠. 굉장히 길고 복잡하다고 느끼실 수 있는 과정인데 진행하시느라 고생 많으셨습니다👍👍👍

 

 


gcloud 로그아웃, 로그인

 

gcloud auth list

일단 로그인을 해야 하는지 확인합니다

 

 

sudo gcloud auth revoke [google계정 이메일]

로그인되어있으면 revoke로 로그아웃합니다.

 

 

sudo gcloud auth login

로그인되어있지 않으면 로그인합니다.