Flask 간단히 알아보자
Flask는 파이썬 프로그래밍 언어로 작성된 웹 프레임워크이다.
마이크로 프레임워크 (Micro Framework)
Flask는 마이크로 프레임워크로, 기본적으로 웹 애플리케이션을 위한 핵심 기능만들 가볍게 포함하고 있다.
기본적으로 제공하는 기능은 라우팅, 템플릿 렌더링, 요청 및 응답 처리가 있고, 복잡한 기능은 필요에 따라 확장할 수 있다.
라우팅 (Routing)
- URL 매핑
: Flask의 라우팅 시스템은 URL과 뷰 함수 (컨트롤러)를 매핑해 사용자가 특정 URL로 접근할 때 해당 뷰 함수가 호출된다.
- HTTP 메소드 지원
: GET, POST, PUT, DELETE 등의 다양한 HTTP 메소드를 지원해, 다양한 요청을 처리할 수 있다.
템플릿 엔진 (Template Engine)
- Jinja2
: Flask는 jinja2 템플릿 엔진을 사용해 동적 HTML 페이지를 생성한다.
- 템플릿 상속
: HTML 템플릿의 재사용과 구조화가 가능하며 템플릿 상속 기능을 통해 공통 레이아웃을 설정하고 여러 페이지에서 사용할 수 있다.
요청 및 응답 처리 (Response & Request)
- 요청 객체
: 클라이언트로부터의 HTTP 요청을 request 객체를 통해 접근하여 요청 데이터를 쉽게 추출할 수 있다.
- 응답 객체
: 서버에서 클라이언트로 보내는 응답을 response 객체를 통해 설정하고 응답 내용과 상태 코드를 조작할 수 있다.
Jupyter lab에 Flask를 설치하기
- 파이썬 설치하기
- 가상 환경 만들기
python3 -m venv 가상_환경_이름
- 가상 환경 실행 후 Jupyter lab을 설치하기
- Jupyter lab 접속하기
- Jupyter lab에서 Flask 설치하기
실습용 app.py 파일을 만들어 간단한 화면 구성하기
- ipynb 파일이 아닌 새로운 .py 파일을 만들어 다음과 같이 Hello World!를 화면에 출력하는 API를 만든다.
Flask app 파일을 실행하고 브라우저에서 확인하기
- 가상 환경에 접속해서 생성한 app.py 파일 실행하기
- localhost:8000으로 접속해서 잘 뜨는지 확인
위 과정을 Docker Compose를 이용해 진행해보자
compose.yml 파일 생성하기
- 새로운 디렉토리를 생성하고 디렉토리 하위에 compose.yml 파일을 만들어준다.
Dockerfile 생성하기
- app 디렉토리에 Dockerfile을 만들어준다.
gedit Dockerfile
- app.py 파일을 app 디렉토리의 하위로 이동시켜준다.
(app.py 파일과 docker compose를 위해 생성한 파일들이 동일한 경로에 있게 설정해주어야 한다.)
mv app.py myflask2/app
Requirements.txt 파일 생성하기
- app 디렉토리 하위에 requirements.txt 파일을 만들고 다음과 같이 작성해준다.
vi myflask2/app/requirements.txt
컨테이너 빌드하고 실행하기
- localhost:8000에 접속해서 확인하기
'Data Engineering > Docker' 카테고리의 다른 글
[Linux/Docker] Docker Resistry에 대해 알아보고 이미지를 Push, Pull해보자 (0) | 2024.08.24 |
---|---|
[Linux/Docker] Sinatra를 사용해보고 Ubuntu 서버에 배포해보자 (0) | 2024.08.24 |
[Linux/Docker] Docker Compose 설치하고 WORDPRESS와 MYSQL 컨테이너를 만들어보자 (5) | 2024.08.24 |
[Linux/Docker] Docker를 설치하고 컨테이너를 실행해보자 (0) | 2024.08.23 |
[Linux/Docker] Docker compose에 대해 알아보자 (0) | 2024.08.23 |