배달앱 배포

2023. 10. 10. 11:50docker

실습 파일

5.배포.zip
0.01MB
docker-compose.yml
0.00MB

 

 

실습 개요

client -> 80 -> proxy server

1.frontend 9000

2.order 9001 -> GET "/api/order"

3.store 9003 -> GET "/api/store/  -> 메뉴

4.user 9002  -> POST "/api/user"

 

 

이미지 빌드

python flask -> docker base image : python:3.8-slim-buster

 

 

각 폴더에 Dockerfile 생성하자. 내용은 아래와 같다.

FROM python:3.8-slim-buster
WORKDIR /python-docker
COPY . .
RUN pip3 install -r requirements.txt
CMD [ "python3", "app.py" ]

 

 

모두 생성 후 아래 명령어를 각 폴더 위치에서 입력하자.

 docker build -t front-docker .
 docker build -t order-docker .
 docker build -t store-docker .
 docker build -t user-docker .

 

 

이미지 생성 확인

 

 

Traefik

Traefik은 컨테이너 오케스트레이션 플랫폼에서 사용되는 리버스 프록시 및 로드 밸런서 역할을 수행하는 오픈 소스 소프트웨어다.

 

 

Traefik의 주요 특징과 개념
  • 리버스 프록시 : Traefik은 HTTP 및 TCP 레벨에서 작동하는 리버스 프록시로서 클라이언트 요청을 백엔드 서비스로 라우팅한다. 이를 통해 여러 개의 백엔드 서비스에 대한 로드 밸런싱, 트래픽 분배, SSL 종료 및 인증을 처리할 수 있다.
  • 동적 설정 : Traefik은 동적으로 백엔드 서비스를 검색하고 관리할 수 있는 능력을 갖추고 있다. 이는 컨테이너 오케스트레이션 플랫폼 (예: Docker, Kubernetes)에서 자주 사용된다. 새로운 컨테이너가 생성되면 Traefik은 자동으로 해당 서비스를 감지하고 라우팅 설정을 업데이트 한다.
  • 통합 및 미들웨어 : Traefik은 다양한 백엔드 시스템 및 서비스 디스커버리 툴과 통합할 수 있는 많은 플러그인과 미들웨어를 제공한다. 이를 통해 요청 및 응답을 수정하고 보안, 로깅, 인증, 압축 등을 쉽게 구현할 수 있다.
  • 동적 Let's Encrypt 지원 : Traefik은 동적으로 SSL/TLS 인증서를 생성 및 관리할 수 있으며, 이를 통해 웹 애플리케이션의 보안을 강화할 수 있다.
  • 대시보드 및 모니터링 : Traefik은 웹 대시보드를 제공하여 현재의 프록시 상태와 요청 및 응답 통계를 모니터링할 수 있다.

 

 

traefik 참고 사이트

Traefik Docker Documentation - Traefik

 

Traefik Docker Documentation - Traefik

Traefik & Docker A Story of Labels & Containers Attach labels to your containers and let Traefik do the rest! Traefik works with both Docker (standalone) Engine and Docker Swarm Mode. The Quick Start Uses Docker If you have not already read it, maybe you w

doc.traefik.io

traefik - Official Image | Docker Hub

 

traefik - Official Image | Docker Hub

traefik •• Traefik, The Cloud Native Edge Router

hub.docker.com

Zarathu Blog - Docker와 Traefik을 활용한 Reverse-Proxy 구현

 

Zarathu Blog - Docker와 Traefik을 활용한 Reverse-Proxy 구현

숭실대학교 인턴십 프로그램을 통하여 참여한 차라투에서 인턴으로 활동하며 5주차 동안 학습한 내용에 대해 공유합니다. 목표 Docker와 Traefik을 활용하여 Reverse-Proxy를 구현한다. 목차 Traefik이란?

blog.zarathu.com

 

 

실습

'docker compose up -d' 입력 후 container 확인

 

 

windows에서 80번 포트로 접속

 

 

LOG IN 화면

 

 

로그인 완료!

'docker' 카테고리의 다른 글

Jenkins에 app 배포 [GitHub, Maven 이용]  (0) 2023.10.11
Jenkins  (0) 2023.10.11
Grafana  (0) 2023.10.10
Docker save, load  (0) 2023.10.06
nodejs 실습  (0) 2023.10.06