[KodeKloud] Docker Compose - Example Voting Application with Docker Compose #2

Do Hyeon Chu·2024년 7월 10일

Docker

목록 보기
4/6

⚠️Caution

  • KodeKloud 강의에서는 docker-compose v1.n.n 버전을 이용하여 실습을 진행하므로, 종속성 문제로 시간을 허비하고 싶지 않다면, 다음 명령어를 통해 알맞은 버전을 설치하는 것을 권장한다.

1. Docker Compose v1 설치

  • Ubuntu 24.04

    Ⅰ. 최신 docker-compose v1.n.n 바이너리 다운로드

    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    Ⅱ. 실행 권한 부여

    sudo chmod +x /usr/local/bin/docker-compose

    Ⅲ. 설치 확인

    docker-compose --version

2. TroubleShooting

  • 만약 docker-compose v2.n.n 버전을 설치한 상태에서 docker-compose v1.n.n를 설치했다면 Docker 데몬을 재시작한다.

    Ⅰ. Docker 데몬 재시작

    sudo systemctl restart docker

    Ⅱ. YAML 파일 내 문법 & 종속성 검토

    Ⅲ. 볼륨 삭제 및 재시작 - 기존 볼륨이 문제를 일으킬 수 있으므로 compose 볼륨을 삭제한다.

    docker-compose down -v
    docker-compose up
  • 종속성 이슈 해결을 위해 version: '3.8' 로 설정한다.
# docker-compose.yml
version: '3.8'
services:
  redis:
    image: redis

  db:
    image: postgres:9.4
    environment:
      POSTGRES_HOST_AUTH_METHOD: "trust"

  vote:
    image: voting-app
    ports:
      - 5000:80

  worker:
    image: worker-app

  result:
    image: result-app
    ports:
        - 5001:80
  • 이전 강의에서는 일일이 --link 옵션을 통해 컨테이너를 생성하고 네트워크를 직접 구성해야 했지만, Docker-Compose를 통해 한결 수월하게 서비스를 구동시킬 수 있게 되었다.
profile
To become Cloud Security Architect

0개의 댓글