프로젝트 중에 docker hub를 사용할까 하다가, 아무래도 AWS를 사용하는 만큼 ECR로 업로드를 해서 사용하면 좋을 것 같아서 ECR로 이미지 푸시하는 법을 찾아보게 되었다.
docker build . -t <id>.dkr.ecr.<region>.amazonaws.com/<ecr repository name>:<tag>
ID에는 aws 12자짜리 account id(aws sts get-caller-identity의 account)
region에는 region(한국이니까 보통 ap-northeast-2)
ecr repository name에는 콘솔에서 생성한 repository name
tag에는 달고싶은 tag를 달면 된다.
aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin <id>.dkr.ecr.ap-northeast-2.amazonaws.com
aws configure로 로그인 되어 있으면 안 해도 되는줄 알고 하지 않았었는데 오류가 떴다.
그래서 이걸 적용해보고 다시 해봤더니 오류가 발생하지 않았다 ㅎ..
암튼?? 로그인에 성공하면 login succeed라고 나온다.
docker push <id>.dkr.ecr.<region>.amazonaws.com/<ecr repository name>:<tag>
성공적으로 실행되면
0987654321ba: Pushed
1234567890ab: Pushed
...
이런식으로 뜬다. 떨어질 때 까지 기다리면 ECR 콘솔에서 확인할 수 있다.
containers:
- name: name
image: <id>.dkr.ecr.<region>.amazonaws.com/<ecr repository name>:<tag>
deployment.yaml에는 이렇게 작성하면 된다.