GCP 레지스트리 등록

GCP 에서 docker image 를 pull&push 관리 하기 위해서 기록 - gcp에 docker 이미지 올려놓는 이 ??

image

google Container Registry API 사용 설정을 눌러 준다.

  1. Google Cloud SDK 설치

    GCP로부터 이미지를 pull & push 할 때, gcloud 명령어가 필요하기 때문에 Cloud SDK 설치해야 한다.

​ gcloud init 쳐서 해주고 그 후, gcloud auth login 해줘서 인증 해줘야 한다.

그리고 나서 google Cloud Platform > 목록 > IAM 및 관리자 > 서비스 계정

내가 만들어야 할 서비스 프로젝트 계정 만들어주고 계정 권한은 프로젝트 > 소유자로 만들어준다.

image

그 후, 다음으로 넘어가서 키 만들고 json 형식으로 만들고 완료 눌러서 마무리 합니다.

(만들어진 키는 보관해야합니다.)

키를 만들면서 다운로드된 json 파일을 리눅스의 /usr/lib64/google-cloud-sdk/bin 으로 옮깁니다.

이제 아래 명령어를 통해 서비스 계정 인증을 위해 아래 명령어를 입력해줍니다. (만약 gcloud 커맨드를 찾지 못한다면 /usr/lib64/google-cloud-sdk/bin 으로 이동하셔서 ./gcloud 로 사용 해주세요)

gcloud auth activate-service-account --key-file=/usr/lib64/google-cloud-sdk/bin/[옮긴 json파일명]
gcloud auth configure-docker

# gcloud 커맨드를 인식하지 못할 경우
cd /usr/lib64/google-cloud-sdk/bin/
./gcloud auth activate-service-account --key-file=/usr/lib64/google-cloud-sdk/bin/[옮긴 json파일명]
./gcloud auth configure-docker

json 파일도 인증이 완료 되었다면 리눅스에서 삭제 해줍니다. (gcloud CLI가 키를 저장하여 리눅스에서 삭제해도 계속 유지된다고 합니다)

도커 이미지 업로드 / 다운로드

  • 도커 이미지를 업로드 하기 전 이미지의 태그를 설정해줘야 합니다.
    # docker tag [로컬 이미지명][Google Container Registry 호스트명]/[프로젝트ID]/[이미지명]
    ex) docker tag jellystore asia.gcr.io/jellystore/jellyStore
    

Google Container Registry 호스트 명은 이미지 저장위치에 따라 아래중 하나를 사용하면된다.

  • us.gcr.io - 미국
  • eu.gcr.io - 유럽
  • asia.gcr.io - 아시아
docker build -t hostname/project_id/dockerImage

docker push hostname/project_id/dockerImage

image 올라가져 있는걸 확인 할 수 있다.. !