docker (주문앱 배포)
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" |

각 폴더에 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
https://doc.traefik.io/traefik/providers/docker/
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
https://hub.docker.com/_/traefik
traefik - Official Image | Docker Hub
traefik •• Traefik, The Cloud Native Edge Router
hub.docker.com
https://blog.zarathu.com/posts/2022-02-08-traefik-reverseproxy/
Zarathu Blog - Docker와 Traefik을 활용한 Reverse-Proxy 구현
숭실대학교 인턴십 프로그램을 통하여 참여한 차라투에서 인턴으로 활동하며 5주차 동안 학습한 내용에 대해 공유합니다. 목표 Docker와 Traefik을 활용하여 Reverse-Proxy를 구현한다. 목차 Traefik이란?
blog.zarathu.com
docker-compose.yml 파일 생성 후 내용 입력 | version: "3.3" services: traefik: image: "traefik:v2.9" container_name: "traefik" command: #- "--log.level=DEBUG" - "--api.insecure=true" - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.web.address=:80" ports: - "80:80" - "8080:8080" volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" whoami: image: "traefik/whoami" container_name: "simple-service" labels: - "traefik.enable=true" - "traefik.http.routers.whoami.rule=Path(`/whoami`)" - "traefik.http.middlewares.strip-counter.stripprefix.prefixes=/whoami" - "traefik.http.routers.whoami.entrypoints=web" order: image: order-docker container_name: "order-service" labels: - "traefik.enable=true" - "traefik.http.routers.order.rule=PathPrefix(`/api/order`)" expose: - 9001 restart: always front: image: front-docker container_name: "front-service" labels: - "traefik.enable=true" - "traefik.http.routers.front.rule=Path(`/`) || PathPrefix(`/w`)" expose: - 9000 restart: always store: image: store-docker container_name: "store-service" labels: - "traefik.enable=true" - "traefik.http.routers.store.rule=PathPrefix(`/api/store`)" expose: - 9003 restart: always user: image: user-docker container_name: "user-service" labels: - "traefik.enable=true" - "traefik.http.routers.user.rule=PathPrefix(`/api/user`)" expose: - 9002 restart: always |

docker compose up -d 실행 후 docker ps 윈도우 80번 포트로 접속 |

접속 화면 |

로그인 창 |

완료 |