클라우드(Docker3)

열공하는웅2·2025년 11월 5일

클라우드

목록 보기
5/13

🧩 이미지 백업과 실행

조직 내에서 동일한 이미지를 배포하는 것은 매우 중요하다.
도커 이미지를 별도로 저장하거나 다른 장치로 옮기려면 단일 파일로 이미지를 저장해야 한다.
이 과정에서 커맨드, 이미지명, 태그 등이 모두 저장된다.

🔹 이미지 백업 명령어

docker save -o ubun-with-nginx.tar my-ubun-nginx:latest
  • -o 옵션: 로컬에 압축된 출력 파일로 저장함
  • 결과 파일: ubun-with-nginx.tar
  • 이 파일을 다른 조직원에게 전달하면 동일한 Ubuntu/Nginx 이미지를 바로 사용할 수 있다.

🔹 이미지 복원(로드) 명령어

조직원이 위 파일을 받아 실행할 때:

docker load -i ubun_with_nginx.tar
  • 실행 결과: Loaded image: my_ubun_nginx:latest 로 표시됨

exit
docker ps -a => my_ubun 확인
docker ps -a |grep my_ubun
docekr commit my_ubun my_ubun_nginx => 새로운 이미지 생성
docker images => my_ubun_nginx 확인
docker save -o ubun_with_nginx.tar my_ubun_nginx:latest
=> 앞에 이름으로 저장 (tar형식으로)
docker load -i ubun_with_nginx.tar
=>이미지 로드

다음은 이미지 속 텍스트의 정리본입니다.


🐳 Docker Export와 Docker Import

  • docker export
    컨테이너의 파일 시스템을 tar 파일로 추출한다.

  • docker import
    export로 추출된 파일을 새로운 이름의 이미지로 저장한다.


🔹 차이점 설명

  • docker export는 컨테이너를 동작시키는 데 필요한 모든 파일을 압축한 것으로,
    tar 파일 안에 컨테이너의 루트(/) 파일 시스템 전체가 포함된다.

  • 반면, docker save이미지의 Layer 구조까지 포함한 형태로 압축된다.
    즉, 단순한 파일 백업이 아니라 이미지의 계층(Layers) 구조 정보까지 보존된다.


🔹 결론

동일한 Docker 이미지를 백업하더라도 exportsave는 압축 구조와 디렉터리 형태가 다르다.

  • export로 생성한 tar 파일은 import로 복원
  • save로 생성한 파일은 load로 불러와 사용

✅ 일반적으로는 save/load 방식으로 이미지 전체를 보존하고 공유하는 것이 좋다.

우분투 16으로 컨테이너 생성.


다음은 이미지 속 텍스트의 정리본입니다.


📦 도커 이미지 배포

조직에 적합한 도커 이미지를 생성했다면, 여러 방법을 통해 이미지를 배포하여
조직원들이 쉽게 이용할 수 있다.


🔹 이미지 생성 방법

  1. Docker Hub에서 다운로드하여 사용

    docker pull <이미지명>

    → hub.docker.com에서 원하는 이미지를 다운로드 후 사용

  2. 현재 컨테이너를 기반으로 새로운 이미지 생성

    docker commit <컨테이너명> <새로운_이미지명>

    → 현재 이미지에 필요한 내용을 추가 후 커밋하여 새로운 이미지 생성

  3. Dockerfile 스크립트를 이용한 이미지 생성

    docker build -t <이미지명> .
  4. Tag 변경을 통한 새로운 이미지 생성

    docker tag <기존이미지> <새로운태그>

    → 태그만 변경해도 새로운 이미지로 인식됨


🔹 Docker Hub 이용하기

  • 공개 저장소(Public Repository)
    누구나 이미지를 사용할 수 있으며,
    https://hub.docker.com 에 사용자 계정으로 로그인 후
    자신의 도커 이미지를 업로드(배포)할 수 있다.

  • 비공개 저장소(Private Repository)
    1개의 이미지는 무료로 Private 설정 가능하지만,
    여러 개를 Private으로 유지하려면 추가 요금이 발생한다.


정리 요약
도커 이미지는

  • pull (다운로드)
  • commit (수정본 생성)
  • build (Dockerfile로 생성)
  • tag (태그로 분리)
    의 네 가지 주요 방식으로 관리 및 배포할 수 있다.

docker tag comm_con2 herowoong2/comm_con2:0.0

docker push herowoong2/comm_con2:0.0

docker login
doceker pull herowoong2/comm_con2:0.0

kali에 들어가서도

docker run -it herowoong/comm_com

새로운 organization도 만들 수 있다.

다음은 이미지 속 텍스트의 정리본입니다.


🧩 웹에서 Organization 생성하기

소프트웨어 개발 등에서는 혼자 작업하지 않고 여러 명이 함께 작업하는 경우가 많다.
이때 대부분은 웹 상에서 공동 작업공간(Organization) 을 생성하여 관련자들만 이미지를 이용하게 한다.

이를 위해 웹에서 Organization을 생성하고, 여기에 팀원들을 추가하여
팀원들끼리만 이미지를 공유시키는 방식으로 활용할 수 있다.


🌐 웹에서 WebHook 생성하기

앞서 생성한 Organization을 사용할 수도 있지만,
WebHook을 만들어 팀원들끼리만 이미지를 공유하는 방법도 있다.

저장소에 새로운 이미지가 추가될 때,
예를 들어 ownCloud 서버에서 배포용 애플리케이션을 작성할 경우
이 WebHook이 유용하다.

→ 해당 사이트는 URL로 HTTP 요청을 받아 새로운 배포 이미지를 자동으로 전달해 준다.


🏷️ 자체 이미지 저장 공간(Registry) 생성하기

Docker Hub(https://hub.docker.com)처럼 외부 웹에서 Organization이나 WebHook을 이용할 수도 있지만,
조직 내부에서 이미지를 공유하기 위한 자체 레지스트리(Registry) 를 만들 수도 있다.

이 레지스트리는 내부 전용 Docker 저장소로서,
이미지를 업로드(push)하거나 내려받기(pull) 할 수 있다.

  • 예시:

    docker push <레지스트리주소>/<이미지명>
    docker pull <레지스트리주소>/<이미지명>

이미지를 저장할 때는 Docker Volume을 생성하여
컨테이너의 내부 디렉터리에 마운트하고,
외부에서는 docker pull 명령으로 이미지를 받아 사용할 수 있다.

Linux에서도 이 자체 레지스트리와 유사하게
이미지 저장 전용 컨테이너를 만들어 운영할 수 있다.


요약

구분설명
Organization팀 단위로 이미지를 공유할 수 있는 공동 작업 공간
WebHook서버나 애플리케이션에서 새로운 이미지 배포를 자동화하는 기능
Registry내부에서 이미지를 저장·관리하는 전용 공간 (외부 Docker Hub와 유사)

레지스트리

docker run -d --name my_registry -p 5000:5000 --restart=always registry:2.6

docker tag hello-world:latest 192.168.100.180:5000/hello-world:0.0


🧹 이미지 저장소(Registry)에 있는 컨테이너 삭제하기

도커 레지스트리에 저장된 이미지를 제거할 때는 아래와 같은 방법을 사용한다.


🔹 a) 특정 이미지 삭제

레지스트리에 저장된 이미지를 삭제하려면 다음 명령을 실행한다:

docker image remove 192.168.100.101:5000/hello-world:0.0

🔹 b) 레지스트리 컨테이너 자체 삭제

현재 실행 중인 도커 레지스트리 컨테이너를 삭제하더라도,
이미지는 레지스트리의 볼륨(volume)에 그대로 남아 있게 된다.

따라서 완전히 삭제하려면 레지스트리 컨테이너와 함께
볼륨까지 제거해야 한다.

docker rm -f --volumes myregistry

정리 요약

구분명령어설명
특정 이미지 삭제docker image remove <레지스트리주소>/<이미지명>:<태그>해당 이미지 제거
레지스트리 삭제docker rm -f --volumes myregistry컨테이너와 볼륨(저장된 이미지 데이터) 모두 삭제


⚙️ Docker events

도커 컨테이너에서 발생하는 이벤트(event)
현재 도커 컨테이너가 가지고 있는 자원(Resource) 상태를
docker events 명령을 통해 확인할 수 있다.


🔹 주요 개념

도커 컨테이너에서는 다양한 상황이 이벤트로 발생한다.
예를 들어:

  • 사용자 생성
  • 로그인
  • 파일 생성/삭제
  • 특정 자원 접근

이러한 모든 동작을 이벤트(event) 라고 부른다.

docker events 명령을 실행하면
컨테이너에서 수행되는 각종 작업과 이벤트 발생 시점을 실시간으로 보여준다.
이는 Windows 서버의 이벤트 로그(event log) 와 유사한 개념이다.


🔹 예시 명령어

docker events --filter 'type=image'

→ 이미지(image) 관련 이벤트만 필터링하여 출력한다.


정리 요약

구분설명
명령어docker events
기능컨테이너 및 도커 전체의 실시간 이벤트 모니터링
필터 옵션--filter 'type=image' → 특정 리소스 유형만 보기
비유Windows의 이벤트 로그(Event Viewer)와 유사

docker events


🧩 컨테이너의 리소스(Resources) 보기

일반적으로 시스템에서 리소스(resource)
HDD, CPU, RAM 사용량 등을 의미한다.
넓게 보면 사용자, 데이터, 컴퓨터, 프린터 등의 자원도 포함된다.

현재 실행 중인 도커 컨테이너의 리소스 정보를 확인하려면
다음 명령어를 사용할 수 있다:

docker stats

이 명령어를 통해 각 컨테이너의 CPU, 메모리, 네트워크 I/O 등
실시간 사용량을 모니터링할 수 있다.

또한 다음 명령으로 시스템 전체 리소스를 확인할 수도 있다:

docker system --help

📊 모니터링 도구: cAdvisor

cAdvisor는 Google에서 만든 컨테이너 모니터링 도구로,
단일 컨테이너의 리소스 사용량을 시각적으로 확인할 수 있다.

많은 컨테이너를 모니터링해야 하는 경우에는
추후 Prometheus 등의 추가 모니터링 도구를 함께 사용하는 것이 좋다.


요약 정리

구분명령어 / 도구설명
컨테이너 리소스 확인docker stats실행 중인 컨테이너의 CPU, 메모리 등 실시간 사용량 확인
시스템 리소스 도움말docker system --help시스템 관련 명령어 확인
모니터링 도구cAdvisorGoogle이 만든 컨테이너 단위 모니터링 도구
대규모 모니터링Prometheus여러 컨테이너 리소스 종합 관리용 도구

docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:ro --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=8080:8080 --detach=true --name=cadvisor google/cadvisor:latest

한편 일반 프로그래밍 언어로 Docker를 제어할 수 있다.

pip3 install docker
python3 => 파이썬 실행
import docker => import
client = docker.DockerClient(base _url='unix://var/run/docker.sock')
client.info()

한편 파이썬 파일로
도커 컨테이너를 만들 수 있다.



🐳 Dockerfile

도커 이미지를 생성하는 방법은 여러 가지가 있다.


🔹 1) 기본 이미지(Bare Image) 가져오기

Docker Hub에서 제공하는 기본 이미지를 다운로드하여 사용한다.
예시:

docker pull rockylinux:8

🔹 2) 기존 이미지 수정 후 Commit

기존 이미지(Base Image)에 필요한 설정이나 파일을 추가한 뒤,
새로운 이미지로 커밋(Commit)한다.

docker commit --name rockylinux8-1 rockylinux8

🔹 3) Tag로 새 이미지 생성

기존 이미지에 새 태그를 붙여 새로운 이미지처럼 관리할 수도 있다.

docker image tag rockylinux8 rockylinux8-2

🔹 4) Dockerfile을 이용한 이미지 생성

Dockerfile은 이미지 생성 과정을 코드로 정의한 파일이다.
Bare Image에 필요한 설정을 추가하여 새로운 이미지를 자동으로 빌드할 수 있다.
이때 build 명령을 사용하며, 특정 이미지명을 함께 지정할 수 있다.

예시:

docker build -t my-rockylinux:1.0 .

⚙️ Dockerfile의 개념

  • Dockerfile이란?
    도커 이미지 정의를 위한 DSL(Domain Specific Language, 도메인 특화 언어) 형식의 스크립트 파일이다.
    특정 도커 이미지를 정의하고, 필요한 요소들을 설정하여 이미지를 생성한다.

  • Dockerizing이란?
    애플리케이션을 Dockerfile 기반으로 이미지화하는 과정.
    이는 DevOps나 CI/CD 과정에서 핵심적인 단계이다.


🔹 요약

구분방법설명
1docker pullHub에서 기본 이미지 다운로드
2docker commit기존 이미지 수정 후 새로운 이미지로 저장
3docker tag기존 이미지에 새 태그 부여
4docker buildDockerfile을 이용해 새로운 이미지 빌드
DockerfileDSL 기반 스크립트이미지 정의 및 자동화된 빌드 설정 파일

정리하자면:
Dockerfile은 “도커 이미지를 어떻게 만들 것인가”를 코드로 정의한 설정 파일이며,
필요한 요소(패키지 설치, 환경 설정 등)를 명시하고
이를 실행하면 자동으로 새로운 도커 이미지가 생성된다.


Dockerfile

docker run --name website1 -v $(pwd):/usr/share/nginx/html -p 8080:80 -d nginx:latest

label이라고 하는 것은 service, ingress, egress

docker build -f Dockerfile1 -t website3 .

-P => 32768

-P => 32769


nano Dockerfile3
docker build -f Dockerfile3 -t website5 .


nano Dockerfile4
root@ubuntu18-1:/home/ubuntu/dockerfile# docker build -f Dockerfile4 -t ubuntu-with-git .
=> image 생성

docker images => 확인
docker run -it ubun-with-git:latest bash
=> 생성 및 접속


git clone https://github.com/nacyot/docker-moniwiki.git

dockerfile 내용 편집

docker images => paul-moni
docker run -p 9999:80 -d paul-moni:latest
docker ps => 컨테이너 생성 확인.
exit

firefox http://localhost:9999/moniwiki


🌐 가상 웹 서버 모듈: Node.js와 Express.js 응용하기

1️⃣ 웹 서비스 환경의 변화

Cloud와 Docker Image Container(또는 Kubernetes의 Pods)가 활용되면서
기존의 웹 서버 서비스 환경이 다음과 같이 바뀌었다.

  • FrontEnd(Web)BackEnd(DB, Server) 의 경계가 점점 줄어들고 있음
  • 웹에서 실행되는 프로그램들이 더욱 가볍고 효율적이어야 함

2️⃣ Node.js의 개념 및 특징

  • Node.jsScalable한 Server 측 소프트웨어 플랫폼으로,
    클라이언트와의 네트워킹을 효율적으로 처리하는 데 초점을 둠.
  • JavaScript 기반 런타임 환경으로, 기존의 웹 브라우저 외에
    Linux, Windows, macOS 등 다양한 OS에서 실행 가능.

주요 특징

a) non-blocking I/O

  • 이벤트를 통해 비동기적으로 입출력을 처리해 높은 효율성을 가짐.

b) Single-thread 기반

  • 내부적으로는 이벤트 루프(event loop)를 사용하여
    다중 요청을 빠르게 처리함.

c) Google V8 엔진 사용

  • 자바스크립트 코드를 빠르게 실행하며,
    파일, 소켓(IP·포트), HTTP 등 다양한 모듈을 지원.

d) 내장 HTTP 및 Socket 모듈 지원

  • 별도의 Apache/Nginx 없이도 자체적으로 웹 서버 역할 수행 가능.

3️⃣ 기존 서버와의 비교

  • Apache Tomcat → 자바 기반 웹 프레임워크 (JSP/Servlet 실행용)
  • Apache HTTP Server → 정적 웹 서버
  • Socket(소켓) → 서버 호스트(IP)와 포트(port)를 묶어
    외부 서비스 요청을 받을 수 있는 통신 모듈

4️⃣ Express.js란?

  • Express.jsNode.js를 위한 빠르고 간결한 웹 프레임워크
    (Java 진영의 Spring, JSP Framework에 해당하는 역할)
  • Node.js 위에서 동작하며 웹·모바일 앱을 쉽고 빠르게 개발 가능.
  • 수많은 HTTP 유틸리티와 미들웨어를 제공하며,
    API 서버 개발에 매우 적합.
  • Node.js의 비동기 처리 구조를 그대로 살리면서도
    코드 구성이 단순하고 가독성이 좋다.
  • 전 세계적으로 널리 사용되는 표준급 프레임워크로 자리 잡음.

5️⃣ React.js와의 관계

  • React.js는 프론트엔드(UI) 개발용 자바스크립트 라이브러리.
  • Express.js가 서버(백엔드) 역할을 담당하고,
    React.js는 브라우저 쪽 사용자 인터페이스를 담당함.
  • React 실행 환경 역시 Node.js 위에서 동작.

✅ 요약 정리표

구분설명
Node.js서버 측 자바스크립트 런타임 (비동기·단일 스레드)
Express.jsNode.js용 경량 웹 서버 프레임워크
Tomcat자바 기반 웹 서버 (JSP, Servlet 실행용)
Apache정적 웹 서버
SocketIP:Port 기반 통신 모듈
React.js프론트엔드(UI) 개발용 라이브러리

👉 한 줄 요약:

Node.js는 비동기 처리로 빠르고 가벼운 서버 환경을 제공하고,
Express.js는 그 위에서 REST API나 웹 서버를 간단하게 구성할 수 있는 핵심 프레임워크이다.


🐍 Flask와 Node.js 비교 요약

1️⃣ Flask (Python Web Framework)

  • Flask는 파이썬으로 작성된 마이크로 웹 프레임워크로,
    Werkzeug 툴킷과 Jinja2 템플릿 엔진 기반의 BSD 라이선스 오픈소스 웹 서버이다.
  • Django보다 훨씬 가볍고 단순하며, 필요한 구성 요소만 최소한으로 제공한다.
  • Flask로 만들어진 대표적인 서비스: Pinterest, LinkedIn 등.

🔹 특징

  • 경량(마이크로) 프레임워크 → 데이터베이스 계층, 양식 검증, 인증 등은 내장되어 있지 않음.
    (필요 시 확장 라이브러리 추가)
  • 확장성: ORM, 인증, 업로드 관리, API 개발 등 다양한 확장 모듈 사용 가능.
  • 빠른 개발: 단순한 코드 구조로 학습 및 유지보수가 용이하다.
  • 유연성: 플라스크 자체는 작고 단순하지만, 다양한 확장 기능으로 대형 애플리케이션도 구현 가능.

2️⃣ Express.js와 Node.js 정리

🔹 Express.js

  • Node.js용 웹 프레임워크로,
    Java 진영의 JSP/Spring처럼 웹 애플리케이션 개발에 필요한 구조를 제공한다.
  • 라우팅, 미들웨어, 요청 처리 등을 간결하게 구성할 수 있는 서버 사이드 프레임워크이다.

🔹 Node.js

  • 기존 Apache/Tomcat과 달리, 서버·네트워크 기능을 비동기 이벤트 기반으로 처리하는 런타임 환경.
  • 웹 서버를 직접 구동할 수 있어 매우 가볍고 효율적이다.

🔹 주요 패키지 도구

  • npm (Node Package Manager)
    → 자바스크립트 패키지를 설치·관리하는 표준 도구
  • nvm (Node Version Manager)
    → Node.js 버전 및 패키지 환경을 관리하는 도구

🔹 React.js

  • React는 웹 UI를 구성하는 프론트엔드 라이브러리로,
    JSP나 PHP의 뷰(view) 역할을 수행한다.
  • Node.js 환경에서 실행되어, 백엔드(Express)와 연결하여 완성형 웹 앱을 만든다.

3️⃣ 프론트엔드 vs 백엔드 역할 구분

구분주요 역할
프론트엔드 (Front-End)화면 UI, 사용자 인터페이스, 디자인, 웹페이지 구조
백엔드 (Back-End)서버 로직, 데이터베이스 관리, API 설계 및 클라이언트 데이터 처리

✅ 종합 요약

구분FlaskExpress.js + Node.js
언어 기반PythonJavaScript
프레임워크 유형마이크로 프레임워크서버사이드 프레임워크
특징경량, 확장성 높음비동기 처리, 빠른 요청 응답
서버 구동내장 서버 (Werkzeug)Node.js 자체 서버
주요 용도REST API, 웹 앱실시간 웹 서버, API 서버
확장성다양한 플러그인 기반npm 패키지 기반

👉 결론:

  • Flask는 Python 기반의 가볍고 확장성 높은 서버 프레임워크,
  • Express.js는 Node.js 위에서 작동하는 간결하고 빠른 서버 프레임워크로,
    둘 다 현대적인 클라우드 및 컨테이너 환경에서 널리 사용된다.

node.js 웹 서버

다음은 이미지 내용 정리본입니다.


🧭 웹 브라우저와 홈 파일

  • 웹 브라우저에서 기본으로 여는 홈 페이지 파일은 보통 index.html 이다.
  • 하지만 꼭 index.html만 되는 건 아니고, index.php, index.js 같은 포맷으로도 홈페이지 파일을 만들어 둘 수 있다. 그러면 해당 파일이 웹 페이지처럼 보이게 된다.

🧱 브라우저가 이해하는 것

  • Chrome, Firefox, Edge 같은 웹 브라우저는 기본적으로 HTML만 해석할 수 있다.
  • 그런데 우리가 PHP나 Node.js(=js), Python 등으로 페이지를 만들면,
    그 코드는 서버에서 먼저 실행되고 → 결과를 HTML 형태로 바꾼 뒤 브라우저에 보내준다.
    이 과정을 “렌더링(rendering)”해서 브라우저에 보여준다고 한다.

🔍 개발자 도구로 보면

  • 브라우저에서 오른쪽 클릭 → Inspect(검사) 를 누르면 현재 화면에 표시되는 HTML 소스를 볼 수 있다.

  • 거기에는 우리가 서버에서 짠 원래 Node.js 코드가 나오는 게 아니라,
    서버가 실행해서 만들어낸 최종 HTML 만 들어 있다.

  • 예를 들어 Node.js로 “Hello World”를 보냈다면, 검사창에서는

    <body>Hello World</body>

    이런 식으로 보인다.


한 줄로 정리

서버에서 어떤 언어(PHP, Node.js, Python…)로 만들든, 브라우저가 받는 건 결국 HTML 이고, 브라우저는 그 HTML만 화면에 그려준다.


⚛️ React를 알아보자

  • React는 웹 서버 프레임워크인 Flask(Python)나 Express.js(Node.js)와 함께 사용되는
    프론트엔드(JavaScript 기반) 라이브러리로, 최근 급부상하고 있다.
  • Node.js와 함께 실행되며, 주로 사용자 인터페이스(UI) 를 구현하기 위한 도구이다.

🧩 Front-End와 Back-End의 경계 변화

  • 예전에는 Front-End(사용자에게 보여지는 영역)와 Back-End(DB, 파일 서버, 로직 처리 등)가
    명확히 분리되어 있었다.
    즉, Front-End는 단순히 HTML·CSS·JavaScript로 화면만 구성하고,
    Back-End에서 데이터를 처리해 전달하는 구조였다.

  • 하지만 최근 클라우드 기술과 프레임워크의 발전으로 인해
    Front-End와 Back-End의 경계가 점점 사라지고 있다.


🔁 현대적인 구조

  • React를 사용하는 프론트엔드는 이제 단순한 화면(UI) 역할을 넘어
    데이터 처리, API 요청, 서버 통신, 렌더링 최적화 등의 기능까지 수행한다.
  • 즉, 과거 Back-End가 담당하던 일부 역할을 Front-End가 직접 수행하는 추세다.

💡 요약

구분과거현재
Front-EndHTML, CSS, JS로 화면 구성만 담당서버 데이터 요청·처리까지 수행 (React, Vue 등)
Back-EndDB, 로직, 데이터 가공 담당API 제공 중심 역할로 변화
전체 흐름Front → 요청 → Back → 응답Front에서 API 통신 및 데이터 렌더링까지 수행

결론:
React는 클라이언트 측에서 UI를 동적으로 생성하고 서버와 직접 통신할 수 있게 해주는
현대적인 프론트엔드 핵심 기술이며, Node.js 및 Express.js와 함께 사용될 때
전체 웹 애플리케이션의 효율성과 속도를 높여준다.


🐍 Flask를 알아본다

  • FlaskPython 기반의 웹 서버 프로그래밍 언어 프레임워크로,
    Django처럼 다양한 웹 서버 기능을 지원한다.
  • Flask를 이용하면 클라우드 환경에서 손쉽게 가벼운 웹 서버를 구축할 수 있다.

🌐 HTML 파일과 연동

  • Flask는 *.html 파일이 어디에 있든, 해당 파일을 불러와서 웹에서 실행되게 할 수 있다.
  • 즉, Flask는 HTML 파일을 렌더링(rendering) 하여 브라우저에 보여주는 역할을 한다.
  • 모든 브라우저는 오직 HTML 포맷만 인식하기 때문에, Flask로 웹 애플리케이션을 개발할 때는
    결과를 HTML로 렌더링해야 한다.

⚙️ 구조적 이해

  • Flask는 HTML을 서버에서 실행 가능한 형태로 변환하여 브라우저가 볼 수 있게 만든다.
  • 웹 앱(Web App)을 만드는 과정은 ASP, JSP, PHP와 같은 다른 서버 언어와 비슷하며,
    단 Flask는 훨씬 더 간단하고 가벼운 구조를 가진다.

요약

Flask는 Python으로 만들어진 경량 웹 프레임워크로,
HTML 파일을 렌더링하여 클라우드 환경에서도 간단하게 웹 서버를 구축할 수 있다.

profile
훌륭한 it 엔지니어 꿈나무

0개의 댓글