Wookim

AWS 프로젝트 올리기 (8) 본문

programming language/DevOps

AWS 프로젝트 올리기 (8)

개발자인 경우 2020. 12. 9. 17:41

 

지난 시간 작업사항 

1. 간단한 python flask 웹 api 서버 만들기

2. 도커파일과 requirements.txt 만들기

3. github에 프로젝트 올리기

4. EC2에 필요한 소프트웨어 다운받기 (파이썬, 도커 등)

5. EC2에 계정 만들기

 

이번 포스트 작업사항

6. git 프로젝트 clone 하기

7. 도커파일 빌드하여 프로젝트 이미지 만들기

8. 도커 컨테이너 실행하기(프로젝트 실행)

9. EC2 인스턴스 인터페이스(웹페이지)에서 포트 열기(인바운드 규칙 생성)

10. url로 웹페이지 접속하기

 


 

6. git 프로젝트 clone 하기

 

EC2에 window terminal로 접속하여 

github에 올린 프로젝트를 다운받아보자.

 

EC2에 접속한 후 지난시간에 만든 계정으로 혹은 ubuntu 계정의 폴더로 이동하자.

 

 

EC2에 올릴 github 프로젝트 레포지토리로 이동하여 url를 복사하자

 

 

 

만약 프로젝트를 만들기 힘들다면 

실험용으로 필자의 프로젝트를 사용해보는것도 나쁘지 않을듯.

github.com/wookim789/wookim_tistory

 

wookim789/wookim_tistory

wookim_tistory 예제 프로젝트. Contribute to wookim789/wookim_tistory development by creating an account on GitHub.

github.com

 

 

 

git clone <복사한 레포지터리 url>

다운받은 레포지터리
다운받은 프로젝트 파일들

Dockerfile은 python flask 어플리케이션을 도커 이미지로 빌드하기 위한 파일이다.

app.py는 python flask 어플리케이션의 진입점이라 생각하자

requirements.txt파일은 python 어플리케이션을 도커 이미지로 빌드할 때 필요한 라이브러리를 명시하는 것이다.


7. 도커파일 빌드하여 프로젝트 이미지 만들기

만약 sudo 없이 도커 명령어를 실행시키고 싶다면

ubuntu 계정으로 

sudo usermod -aG docker <계정>

명령어를 치면 된다.

 

실행 명령어 결과는 좀 다를 수 있다. 

 docker build --tag <이미지이름>:<버전> <Dockerfile 경로>

명령어는 위와 같고 내용은

지정한 디렉토리에 있는 Dockerfile를 이용해 이미지를 만든다는 뜻이다.

 

현재 디렉토리에 dockerfile이 있으므로 경로는 . 으로 써야 된다.

 

버전은 적당히 작성하고나서 생성된 images를 확인하는 명령어는 다음과 같다.

 

docker images

 

자 이제 이미지를 받았으니 컨테이너로 실행시켜 보자.

 

 

image id를 복사하자

 

docker run -it -d -p 5000:5000 --name flask <이미지 id>

위 명령어를 실행하면 이미지를 이용해 플라스크 컨테이너가 생성된다.

 

docker ps

위 명령어로 실행된 컨테이너를 확인할 수 있다.

이제 flask가 제대로 실행됬는지 확인해 보자

 

curl localhost:5000

로컬에서 5000번 포트로 접근했을 때 flask가 리턴해준 문자열이 터미널에 출력되는 것을 확인 할 수 있다.

 

Comments