먼저 ec2인스턴스를 만든다. 이름은 docker-ECR 로 설정했다.
putty로 접속해서 도커를 다운로드 받자
curl -fsSL https://get.docker.com/ | sudo sh 명령어를 입력한다.
그리고 sudo usermod -aG docker $USER로 도커의 권한을 등록한다.
mkdir docker-server로 도커 서버폴더를 만들고 cd docker-server로 들어가서
git clone https://github.com/chlghgus10/fastcampus_test.git 으로 프로젝트를 다운받는다.
그리고
cd fascampus_test
cd fascampus 로 폴더 안에 들어가서
vi Dockerfile로 파일를 만든다.
파일 안에는 아래 내용은 입력한다.
FROM python:3.6.7
ENV PYTHONUNBUFFERED 1
RUN apt-get -y update
RUN apt-get -y install vim
RUN mkdir /srv/docker-server
ADD . /srv/docker-server
WORKDIR /srv/docker-server
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
EXPOSE 8000
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
그리고 putty를 껐다가 다시 킨다.
이제 도커 이미지를 생성해보자
docker build -t ecr/django . 명령어를 입력한다.
다시 aws로 넘어와서 ecs를 검색하면 ECR 리포지토리가 나온다. 클릭하자
그리고 프라이빗 리포지토리를 생성한다.
이름은 아래와 같고 기본 설정 그대로를 따른다.
잘 생성됐다. URI를 복사해놓자
docker images 명령어로 ecr/django의 이미지ID를 알아낸다.
그리고 docker tag [이미지 ID] [AWS ECR URI] 명령어를 입력한다.
이제 aws cli 명령어를 사용하기 위해 sudo apt install awscli 를 입력한다.
aws configure 명령어로 aws 인증을 해야하는데 우리는 현재 AWS Access Key ID를 모른다.
aws IAM의 사용자로 가서 사용자 추가를 하자
이제 액세스 키 ID값과 비밀 액세스키 값을 얻었다. 복사해서 붙여넣자
그후 aws ecr get-login --no-include-email --region ap-northeast-2 명령어를 입력하면 긴 명령어가 나오는데 그대로 복붙한다.
이제 도커 푸쉬를 해보자
docker push [AWS ECR URI]
그럼 ECR 리포지토리안에 이미지가 생성된걸 볼 수 있다.
ecr 서비스는 비용이 비싸니 실습이 끝나면 꼭 삭제해주자
'AWS > Part 2. Ch03 중규모 아키텍트' 카테고리의 다른 글
CH03_09 AWS CLI 개요 (0) | 2022.04.29 |
---|---|
CH03_08 AWS Fargate을 통한 배포 (0) | 2022.04.28 |
CH03_06 Docker-Compose를 활용한 배포 (0) | 2022.04.28 |
CH03_05 Nginx Docker Build (0) | 2022.04.27 |
CH03_04 Django Docker Build (0) | 2022.04.27 |