[트러블 슈팅] artifact registry에 이미지 등록 - 100-hours-a-week/5-yeosa-wiki GitHub Wiki
1. 개요
- 기본에는 docker hub에 도커 이미지 올렸음 (클라우드팀에서 아직 ECS가 없다고 함)
- 그러나 비용 문제로 public으로 저장소를 두어야 했고 보안 우려
- 멀티 프로세스 아키텍쳐로 수정함에 따라 도커 이미지를 새로 생성함
- 클라우드 팀에 문의 결과 java 서버는 artifact registry로 관리 중이며, fast api 서버 artifact registry 만들어도 된다고 함
- 이에 cpu-gpu 서버용 artifact registry를 만들어 이미지 관리하고자 함
Artifact Repository에 도커 이미지 등록
- 그러나 그 과정에서 아래와 같은 트러블 슈팅 겪음
2. 트러블 슈팅
a. 에러 상황: 도커는 루트 사용자로 이용, gcloud는 현재 사용자로 인증
- 현재 사용자가 docker group에 포함되어 있지 않아 sudo를 이용해서 도커 이용하던 상황
- gcloud 사용자 인증은 현재 사용자에 대해서 진행함
- 루트 사용자는 인증이 되지 않았기 때문에 지속적으로 아래와 같은 에러 발생
b. 문제 해결
가. 현재 사용자 도커 그룹에 등록
groups # 출력값에 docker가 없다면
sudo usermod -aG docker [사용자이름] # 그룹에 등록
newgrp docker # 새로운 도커 그룹 바로 반영
나. sudo 없이 도커 푸시
- 이를 통해 gcloud 인증된 사용자가 docker push를 함
- 푸시 과정에서 ~/.docker/config.json에 등록된 gcp artifact registry 인증 정보 이용됨
- 인증 성공하여 도커가 artifact registry에 이미지 푸시 성공