728x90
1. Amazon ECR(Elastic Container Registry)
이미 Docker Hub에 리포지토리를 파고 이미지를 push 하였지만,
AWS의 서비스들(EC2, RDS, SSM - Systems Manager, IAM, Lambda, EventBridge)을 이용하여
서브 프로젝트를 만들고 있기 때문에 ECR에도 도커 이미지 올려보려 한다.
아래에 절차를 정리해놨다.
1) Amazon ECR 리포지토리 생성
2) Amazon IAM(Identity and Access Management)_액세스 관리_사용자_사용자 추가
AmazonEC2ContainerRegistryFullAccess 권한 부여
728x90
3) AWS CLI 설치 및 로그인, Amazon ECR 리포지토리에 도커 이미지 push on 로컬 터미널
# Download the installation
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
# Unzip the installer
unzip awscliv2.zip
# Run the install program
sudo ./aws/install
# Confirm the installation
aws --version
# AWS CLI 환경 설정
aws configure
AWS Access Key ID : [[IAM 사용자 액세스 키 ID]]
AWS Secret Access Key : [[IAM 사용자 비밀 액세스 키]]
Default region name: ap-northeast-2
Default output format : json
# AWS CLI 사용
# --region 아시아 태평양 (서울) | --password-stdin Amazon ECR 프라이빗 리포지토리 URI
aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin [[AWS 계정 ID 12자리]].dkr.ecr.ap-northeast-2.amazonaws.com
# Amazon ECR 리포지토리 확인
aws ecr describe-repositories
# 기존에 빌드해둔 도커 이미지에 태그를 지정
docker tag stock_trade:v0.1 [[AWS 계정 ID 12자리]].dkr.ecr.ap-northeast-2.amazonaws.com/stock_trade:v0.1
# 도커 이미지를 Amazon ECR 리포지토리로 푸시
docker push [[AWS 계정 ID 12자리]].dkr.ecr.ap-northeast-2.amazonaws.com/stock_trade:v0.1
4) 배포: Amazon ECR 리포지토리에서 도커 이미지 pull on 로컬 터미널
# 배포 대상 서버에서 AWS CLI 로그인
# --region 아시아 태평양 (서울) | --password-stdin Amazon ECR 프라이빗 리포지토리 URI
aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin [[AWS 계정 ID 12자리]].dkr.ecr.ap-northeast-2.amazonaws.com
# Amazon ECR 리포지토리에서 도커 이미지 풀
docker pull [[AWS 계정 ID 12자리]].dkr.ecr.ap-northeast-2.amazonaws.com/stock_trade:v0.1
# 도커 컨테이너 생성/실행
docker run -d [[AWS 계정 ID 12자리]].dkr.ecr.ap-northeast-2.amazonaws.com/stock_trade:v0.1
# 실행 중인 도커 컨테이너 및 서비스 확인
docker ps
docker logs [[CONTAINER ID]]
cf) Amazon ECR 리포지토리 생성 on 로컬 터미널
# Amazon ECR 리포지토리 생성
aws ecr create-repository \
--repository-name hello-world \
--image-scanning-configuration scanOnPush=true \
--region region
cf) Amazon ECR 리포지토리 안 도커 이미지 삭제 on 로컬 터미널
# Amazon ECR 리포지토리 안 도커 이미지 삭제
aws ecr batch-delete-image --repository-name stock_trade --image-ids imageTag=v0.1 --region ap-northeast-2
cf) Amazon ECR 리포지토리 삭제 on 로컬 터미널
# Amazon ECR 리포지토리 삭제
aws ecr delete-repository \
--repository-name stock_trade \
--force \
--region ap-northeast-2
728x90
'개인 공부' 카테고리의 다른 글
9/18 일_EC2 Timezone, EC2 Scheduler(Lambda, EventBridge) (0) | 2022.09.19 |
---|---|
9/14 수_webdriver_manager, StaleElementReferenceException (0) | 2022.09.14 |
9/10 토_Docker (2) | 2022.09.11 |
9/6 화_DBeaver (0) | 2022.09.07 |
8/28 일_리눅스 시작 프로그램 (0) | 2022.08.28 |