본문 바로가기

Docker

이미지 저장소 [정리]

공식 이미지 저장소

DockerHub 계정 생성

DockerHub private repository 생성

  • docker hub 로그인 후 repository 탭에서 private repository를 생성
    • repo 명 : test

이미지 빌드

# 아무 Dockerfile이 있는 위치에서 수행
docker build -t **<ACCOUNT>**/test:0.0.1 .

<aside> 💡 docker tag <SRC> <DST> 명령을 통해서 이미지 태그만 추가할 수도 있음

</aside>

DockerHub 로그인

docker login -u **<ACCOUNT>** -p **<PASSWORD>**

<aside> 💡 도커 엔진은 기본적으로 private 원격 저장소 로그인 시 ~/.docker/config.json 경로에 로그인 패스워드 정보를 저장함. 하지만 해당 패스워드는 암호화 된 것처럼 보이나 실제로는 base64로 인코딩 되어 저장된 것이므로 쉽게 복호화가 가능함. 따라서 보안에 매우 취약하므로 프로덕션 환경에서는 외부 credential-store와 연동하는 것을 권장.

</aside>

이미지 PUSH

docker push **<ACCOUNT>**/test:0.0.1

이미지 PULL

# 기존 이미지 삭제
docker rmi -f **<ACCOUNT>**/test:0.0.1

# 커스텀 이미지 가져오기
docker pull **<ACCOUNT>**/test:0.0.1

패스워드 복호화

# 저장된 auth 정보 출력
cat ~/.docker/config.json

# ~/.docker/config.json의 auth 내용 복사 후 진행
echo **<AUTH>** | base64 --decode

외부 이미지 저장소

awscli 설치

sudo apt install awscli

awscli 설정

aws access key 생성 후 aws configure 수행

  • default region : ap-northeast-2
aws configure

ECR repository 생성

AWS 콘솔에서 ECR repository myproject/test 생성

ECR password 확인

aws ecr get-login-password --region ap-northeast-2

ECR push

# 로그인
aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin **<ACCOUNT>**.dkr.ecr.ap-northeast-2.amazonaws.com

# 빌드
docker build -t myproject/test:0.0.1 .

# 태깅
docker tag myproject/test:0.1 **<ACCOUNT>**.dkr.ecr.ap-northeast-2.amazonaws.com/myproject/test:0.0.1

# 푸시
docker push **<ACCOUNT>**.dkr.ecr.ap-northeast-2.amazonaws.com/myproject/test:0.0.1

'Docker' 카테고리의 다른 글

Docker Compose 구성해보기 [정리]  (0) 2024.07.17
나만의 이미지 만들기 [정리]  (1) 2024.07.17
다양한 도커 이미지 실행해보기 [정리]  (0) 2024.07.17
볼륨 [정리]  (0) 2024.07.17
컨테이너 포트 포워딩 [정리]  (0) 2024.07.17