초보 개발자

aws ec2를 사용하여 docker 배포해보기 본문

AI 웹개발 트랙 - 내배캠/9주차 ~

aws ec2를 사용하여 docker 배포해보기

taehyeki 2022. 3. 11. 15:20

간단한 flask서버를 build한 뒤에 docker hub로 하나 올려두었다.

Docker Hub

 

Docker Hub

 

hub.docker.com

그리고 aws에 접속하여 ec2를 하나 생성한 뒤에 

 

키페어를 다운로드 받은 뒤 아래와 같이 바꿔주자

chmod 600 keypair.pem

600은 r(4)w(2)x(1) 이것은 소유자에만 읽기쓰기 권한을 주는것으로 변경한 것이다.

이 후에 아래의 명령어를 사용하면 ec2 인스턴스에 접속할 수 있다.

ssh -i ~/.ssh/sparta-docker.pem ec2-user@{public_ip}

나는 인스턴스에 퍼블릭 ip4가 할당이 되지 않아 해결방법을 찾았다.

2022.03.11 - [Error] - ec2 퍼블릭 IP4 할당

 

ec2 퍼블릭 IP4 할당

퍼블릭 IPv4 주소가 아래와 같이 안뜬다면 1. 인스턴스를 생성할 때 3단계에서 퍼블릭ip4 자동할당 버튼이 체크안될 확률이 높다.  체크를 해주길 바람 2. 해당 인스턴스의 VPC설정에 가서 DNS hostname

taehyeki.tistory.com

 

나는 amazon linux 인스턴스를 생성하였는데 docker를 설치해주는 방법은 다음과 같다.

설치를 해준 뒤 exit를 사용하여 나갔다 다시 들어오면 docker를 사용할 수 있다.

docker-compose를 사용하여 커맨드 라인을 하나의 파일로 줄이려고 한다. 따라서 docker-compose도 설치를 해야하는데 아래의 명령어를 치면 된다.

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

 

나는 아래와 같은 docker-compose.yaml파일을 만들었다.

docker-compose는 알아서 network를 만들어준다고한다. 그리고 각 정의한 이름 flask, gogosing으로 alias를 해주는 것 같다. 

정말 그렇게 작동할 지 궁금하여 이름을 gogosing으로 바꿔보았다. 이 후 굳이 host의 27017포트와 연결을 해주지 않아도 될거란 생각에 주석처리를 하였다. 

이 후 ec2에서 docker-compose up -d를 사용하여 실행시켜보았다. 잘 실행이 되었다. yay!~

 

'AI 웹개발 트랙 - 내배캠 > 9주차 ~' 카테고리의 다른 글

elb  (0) 2022.03.17
ec2  (0) 2022.03.17
docker network  (0) 2022.03.08
docker bind mount  (0) 2022.03.08
docker 이미지 만들고 docker hub에 올려보기 !  (0) 2022.03.07