목차
- GCP Artifact Registry 환경설정
- GCP 실습
- auth, tag, push
GCP Artifact Registry 환경설정
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
로그인되어있지 않으면 로그인합니다.
'DevOps > Docker' 카테고리의 다른 글
[Docker]10. 도커 네트워크/볼륨[도커 기초 | Week 6] (0) | 2021.10.08 |
---|---|
[Docker]9. GCP Cloud Build[도커 기초 | Week 4] (0) | 2021.10.07 |
[Docker]7. 도커 레지스트리 [도커 기초 | Week 4] (0) | 2021.09.03 |
[Docker]6. 도커 파일 명령어 [도커 기초 | Week 3] (0) | 2021.09.02 |
[Docker]5. 도커 파일 [도커 기초 | Week 3] (0) | 2021.09.01 |