TIL

docker compose도 scale out이 된다.

하얀잔디 2026. 2. 26. 21:00

계속 kubenetes로 배포하다가, 폐쇄망에서 작업할 일이 있었다.

 

쿠버네틱스 운영에 필요한 포트를 뚫어주지 못하는 상황에, 기존에는 docker compose로 운영되던게 있어서 

 

버전 업그레이드를 해야했다.

 

그 때에 api 서버를 늘리려는 요구가 있었는데, 그때 처음에는 api1 api2 이렇게 한땀한땀 올렸었는데, 보니까 docker compose도 scale out이 쉬워서 저장겸 적는다!

 

 

 

  • docker compose up --scale 로 서비스 복제 가능함
  • Nginx는 업스트림(upstream)으로 여러 컨테이너를 묶어 로드밸런싱 가능함
  • 로그는 docker compose logs / docker logs 조합으로 한방에 모아서 볼 수 있음

 

 

 

키는방법: 

docker compose up -d --scale api=2 --scale socket=2

 

 

nginx  설정:

resolver 127.0.0.11 valid=5s;

upstream aria_prd_interface { zone aria_prd_interface 64k; server interface:4000 resolve; }

server { listen 4000; location / { proxy_pass http://aria_prd_interface; } }

 

 

  • resolver 127.0.0.11 = Docker 내부 DNS
  • resolve = 런타임에 이름 다시 해석하겠다는 뜻
  • valid=5s = DNS 캐시 갱신 주기
  • zone = upstream 공유 메모리 영역(상태 공유, keepalive 등에서 도움)

 

로그보기:

docker compose logs -f api --tail=200