자바스크립트 개발자를 위한 도커 컴포즈 사용법

도커 컴포즈는 개발자들이 여러개의 도커 컨테이너를 하나의 서비스로 구성하고 관리할 수 있게 도와주는 도구입니다. 자바스크립트 개발자들에게 도커 컴포즈는 개발 환경을 쉽게 설정하고 배포하는 데 큰 도움이 될 수 있습니다.

도커 컴포즈 설치하기

먼저, 도커 컴포즈를 설치해야 합니다. 도커 컴포즈는 도커와 함께 제공되므로, 도커를 먼저 설치한 후 도커 컴포즈를 설치해야 합니다. 아래 명령어를 사용하여 도커 컴포즈를 설치할 수 있습니다.

$ curl -L "https://github.com/docker/compose/releases/download/{version}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose

여기서 {version}은 사용하고자 하는 도커 컴포즈의 버전입니다. 최신 버전을 사용하거나, 필요에 따라 원하는 버전을 선택하여 설치할 수 있습니다.

도커 컴포즈 파일 작성하기

도커 컴포즈를 사용하려면 프로젝트 디렉토리에 docker-compose.yml 파일을 작성해야 합니다. 이 파일은 여러개의 도커 컨테이너와 이들 사이의 관계를 정의하는 YAML 형식의 파일입니다. 예를 들어, 자바스크립트 애플리케이션과 데이터베이스를 함께 실행하려면 아래와 같이 작성할 수 있습니다.

version: '3'
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - '3000:3000'
    volumes:
      - .:/app
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: mydb
    volumes:
      - db-data:/var/lib/mysql
volumes:
  db-data:

위의 예시에서는 app 서비스와 db 서비스를 정의하였습니다. app 서비스는 현재 디렉토리에 있는 Dockerfile로 빌드되며, 포트 3000으로 외부와 통신할 수 있도록 설정되었습니다. db 서비스는 MySQL 5.7 이미지를 사용하며, 환경 변수를 설정하여 데이터베이스의 루트 비밀번호와 데이터베이스 이름을 지정합니다. 또한, 데이터베이스 데이터를 호스트 시스템의 db-data 볼륨에 저장하도록 설정되었습니다.

도커 컴포즈로 서비스 실행하기

도커 컴포즈 파일을 작성한 후, 아래 명령어를 사용하여 도커 컴포즈로 서비스를 실행할 수 있습니다.

$ docker-compose up -d

여기서 -d 옵션은 서비스를 백그라운드 모드로 실행하도록 지정합니다. 도커 컴포즈는 docker-compose.yml 파일을 읽어 필요한 도커 이미지를 자동으로 다운로드하고, 컨테이너를 실행합니다.

마무리

이제 도커 컴포즈를 사용하여 여러개의 도커 컨테이너를 손쉽게 관리할 수 있게 되었습니다. 도커 컴포즈는 개발 환경 설정과 배포를 간소화하여 개발자들에게 많은 편의를 제공합니다. 자바스크립트 개발자라면 도커 컴포즈를 익히고 활용하여 개발 생산성을 높일 수 있습니다.

더 자세한 내용은 도커 컴포즈 공식 문서를 참고해주세요.

#javascript #도커컴포즈