[Docker] AWS EC2(Ubuntu)에서 Docker로 웹 띄우기

Seung Hyeon ·2023년 9월 14일
0

백엔드

목록 보기
3/19
post-thumbnail

지난번에는 로컬환경에서 도커를 설치하고 실행했다. 로컬에서 Docker 이미지를 생성할 때 많은 용량이 소모되어서 이번에는 AWS EC2의 Ubuntu 서버에 Docker을 설치하고 실행해보는 실습을 하려한다.

✨AWS EC2에 리눅스 기반 우분투 22.04LTS 인스턴스 생성


인스턴스 유형 : t2.micro
저장 스토리지 : 20GiB 로 설정 (최대 30까지 설정 가능)
키 페어 생성( .ppk ) 및 다운

 

✨보안그룹 인바운드 규칙 설정하기


접속 가능한 포트를 설정한다.

SSH 접속 포트 22번
HTTP 기본 포트 80번
Flask 서버 접속 포트 5000번 & 5002번 포트
Front 접속 포트 5173번
Back 접속 포트 3000번

※ 22번 포트는 해킹의 위험이 있으니 접속하는 사람들 PC IP주소로 변경하는 것이 좋음

 

✨Putty(Ubuntu 환경)로 AWS EC2에 접속

  • EC2 인스턴스 정보에 있는 퍼블릭 DNS주소를 복사하고 해당 주소를 Putty의 Host Name에 붙여넣기
  • Connection < SSH < Auth < Credentials에서 "Pricate key file for authentication"항목에 위에서 다운받았던 .ppk파일 첨부
  • Open 클릭
  • AWS EC2에서 OS를 ubuntu로 설정한 경우 SSH 로그인계정: ubuntu

접속 성공🎉

리눅스 시스템에서 관리자 권한으로 명령어 내리기 위해 sudo su -를 실행했다.

✨Docker 설치

https://docs.docker.com/engine/install/ubuntu/
위 링크 접속해서
Install using the Apt repository 과정을 실행한다.

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

docker입력해서 잘 설치되었나 확인

✨Docker 실행

  • git clone으로 소스코드 내려받는다.

  • back 폴더 메인에 Dockerfile 생성하고 back api만 실행해본다. (실행 포트: 3000)

    • Dockerfile 예시

      FROM node:18.14.0
      
       WORKDIR /app    
       COPY . .
       RUN yarn install
      
       EXPOSE 3000
      
       CMD ["yarn", "dev"]
    • cd back으로 이동 → docker build -t damchae-back .

    • docker run -it -p 3000:3000 damchae-back으로 docker 실행
      -it옵션: Ctrl + C 누르면 도커 종료할 수 있음

  • AWS EC2 DNS 주소로 접속해본다.

※ DB는 Mogno Atlas를 사용했기 때문에 DB를 도커에 따로 설치하지는 않았다.

profile
안되어도 될 때까지

0개의 댓글