https://sdrtst.tistory.com/140
[Docker] Django에서 Docker 사용해보기
이전에는 Flask에서 Docker를 연습해보는 시간을 가졌었는데, 이번에는 Django에서 Docker를 사용해보는 것을 연습해보도록 하겠다. 우선 Dockerfile에서 설정을 해준 뒤 Docker Image를 등록하기 위해 'docker
sdrtst.tistory.com
이전 포스팅 글에 이어서 해당 Django 프로젝트를 가지고 EC2에서 Docker를 적용하여 접속을 해보았다.
우선 EC2 인스턴스를 생성해주었다.

EC2 인스턴스를 생성한 뒤 퍼블릭 IPv4 주소로 Django 프로젝트를 연결하여 접속할 수 있도록 settings.py 안에 있는 ALLOWED_HOSTS 부분에 해당 주소를 넣어주기로 하였다.
# settings.py
ALLOWED_HOSTS = ["EC2 인스턴스의 퍼블릭 IPv4 주소"]
해당 Django 프로젝트의 내용이 변경되었으니 다시 docker build를 사용하여 Docker Image를 생성해주도록 하였다.

정상적으로 빌드가 되었다면 'docker image ls'를 사용하여 Docker Image가 생성되었는지 확인을 해보거나 Docker Desktop으로 확인을 해주었다.

기존에 있던 Docker Image는 사용 여부가 없어졌기 때문에 삭제를 해주었고, 이제 생성된 해당 이미지를 Docker Hub에 push 해주었다.

정상적으로 올라간 것을 볼 수 있었다.
이제 EC2 인스턴스에 접속을 하여 Docker Hub에 올라간 해당 Docker Image를 사용하여 Django 웹 페이지에 접속을 해보고자 하였다.
Windows를 사용하고 있는 필자는 EC2 인스턴스 서버에 접속을 하기 위해 PuTTY라는 원격 접속 프로그램을 사용하여 해당 서버에 접속을 해주도록 하였다.
해당 PuTTY 설정은 AWS 공식 사이트에 올라와 있는 내용을 참고하여 진행하였다.
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/putty.html
PuTTY를 사용하여 Windows에서 Linux 인스턴스에 연결 - Amazon Elastic Compute Cloud
프라이빗 키의 암호는 추가 보호 계층입니다. 프라이빗 키가 노출되더라도 암호 없이 사용할 수 없습니다. 암호문 사용의 단점은 인스턴스에 로그온하거나 인스턴스에 파일을 복사하기 위해 사
docs.aws.amazon.com
해당 과정에 따라 PuTTY 설정을 진행하였다.


설정을 끝내고 Open을 누르면 PuTTY가 실행되고, 실행된 PuTTY 화면에서 Docker를 설치를 위해 다음 명령어들을 차례대로 적어주면서 진행하였다.
패키지 모듈 업데이트하기
$ sudo yum update -y
Docker 설치하기
$ sudo amazon-linux-extras install docker -y
Docker 서비스 실행하기
$ sudo service docker start
Docker 상태 확인하기
$ service docker status
sudo 없이 docker를 사용하기
$ sudo usermod -a -G docker ec2-user
마지막에 'sudo usermod -a -G docker ec2-user' 명령어를 적어서 실행하였다면 해당 권한을 사용하기 위해 PuTTY를 닫고 재접속을 하여 마저 진행하면 된다.
이제 Docker Compose를 사용하여 실제 Docker Hub에 올라간 Docker Image 파일을 pull 받아서 EC2 ip 주소로 접속을 해보도록 하자.
우선 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 파일을 열고 설정을 해주었다.
파일 열기
$ vi docker-compose.yaml

해당 image 부분에 Docker Hub에 올라간 Docker Image를 pull 받아올 수 있도록 'dockerhub_name/repository_name:tag'를 적어주었다.
이제 docker-compose.yaml 파일 설정을 마친 뒤 Docker Compose를 실행시켜주었다.
Docker Compose 실행하기
$ docker-compose up -d
→ -d 옵션 : 백그라운드 실행을 해준다는 의미
Docker Compose 중지하기
$ docker-compose down
실행을 시킨 뒤 EC2 인스턴스에 적힌 퍼블릭 IPv4 주소로 접속을 하게 되면 다음 웹 페이지가 열리는 것을 볼 수 있었다.

'개발 > Docker' 카테고리의 다른 글
| [Docker] Django에서 Docker 사용해보기 (0) | 2022.08.08 |
|---|---|
| [Docker] Docker 사용해보기 (0) | 2022.08.08 |