2023. 10. 4. 17:14ㆍdocker
Flask
Flask는 Python 웹 프레임워크로, 간결하고 가벼우며 확장 가능한 웹 애플리케이션을 빠르게 개발하기 위한 도구다. Flask는 웹 애플리케이션을 구축하는 데 필요한 기본 구조와 도구를 제공하면서도 개발자에게 많은 유연성을 제공한다.
주요 특징과 개념
- 마이크로 웹 프레임워크 : Flask는 "마이크로" 웹 프레임워크로 알려져 있으며, 기본적인 웹 프레임워크 기능을 제공하면서도 필요한 추가 기능을 확장할 수 있도록 핵심 기능을 최소화한다. 이로 인해 개발자는 원하는 방식으로 애플리케이션을 구성하고 확장할 수 있다.
- 라우팅 : Flask는 URL 경로와 뷰 함수 간의 매핑을 통해 요청을 처리한다. 이를 통해 사용자가 특정 URL을 방문했을 때 어떤 함수가 실행될지를 정의할 수 있다.
- 템플릿 엔진 : Flask는 Jinja2와 같은 템플릿 엔진을 지원하여 동적인 웹 페이지를 생성할 수 있다. 이를 통해 데이터와 HTML 템플릿을 조합하여 동적 콘텐츠를 제공할 수 있다.
- 웹 폼 : Flask-WTF와 같은 확장 기능을 사용하여 웹 폼을 쉽게 처리할 수 있다. 이를 통해 사용자 입력을 유효성 검사하고 처리할 수 있다.
- 확장성 : Flask는 다양한 확장 패키지를 지원한다. 예를 들어 데이터베이스 연동, 사용자 인증 및 세션 관리, RESTful API 개발, 테스트, 보안 등을 다루는 확장을 사용하여 기능을 확장할 수 있다.
- 개발자 친화적 : Flask는 간단하고 명확한 문서, 활발한 커뮤니티, 풍부한 예제 등을 통해 개발자가 웹 애플리케이션을 쉽게 개발하고 유지할 수 있도록 지원한다.
- RESTful 지원 : RESTful API를 쉽게 구현할 수 있는 구조를 가지고 있으므로 웹 서비스를 개발하는 데 적합하다.
- Werkzeug와 Jinja2 : Flask는 두 가지 핵심 라이브러리인 Werkzeug와 Jinja2를 기반으로 한다. Werkzeug는 웹 요청 및 응답 처리를 지원하며, Jinja2는 템플릿 엔진으로 사용된다.
참고 사이트
https://runebook.dev/ko/docs/docker/compose/gettingstarted/index
Docker Compose 시작하기
Documentation Contributors GitHub
runebook.dev
docker compose를 이용해서 Flask 설치
- docker-compose.yml 생성
version: '3'
services:
flask:
image: flask-redis
ports:
- 50000:5000
redis:
image: redis
데이터 저장
version: "3.9"
services:
web:
build: .
ports:
- "8000:5000"
volumes:
- .:/code
environment:
FLASK_ENV: development
redis:
image: "redis:alpine"
volumes:
- .:/data
'docker' 카테고리의 다른 글
blog 만들기 (0) | 2023.10.05 |
---|---|
Nginx (0) | 2023.10.05 |
WordPress (0) | 2023.10.04 |
Docker Compose (0) | 2023.10.04 |
docker 기본 사항 (0) | 2023.10.04 |