개발 프로젝트를 진행하거나 테스트하기 위해서는 로컬 개발 환경이 필요합니다. 이를 위해 Docker Compose를 사용하여 빠르고 간편하게 개발 환경을 구축할 수 있습니다. Docker Compose는 여러 개의 컨테이너를 하나의 서비스로 정의하고 실행할 수 있는 도구입니다.
Docker Compose란?
Docker Compose는 Docker의 컨테이너 오케스트레이션 도구로서 여러 컨테이너를 사용하는 다중 컨테이너 애플리케이션을 정의하고 실행하는 데 사용됩니다. Docker Compose 파일을 작성하여 애플리케이션의 서비스, 네트워크, 볼륨 등을 정의할 수 있습니다.
Docker Compose 설치하기
Docker Compose를 사용하기 위해 우선 Docker Compose를 설치해야 합니다. 아래의 명령어를 사용하여 Docker Compose를 설치할 수 있습니다.
$ sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
위 명령어를 실행하면 Docker Compose가 설치될 것입니다.
Docker Compose 파일 작성하기
Docker Compose를 사용하기 위해 실제로 사용할 컨테이너들의 설정 정보를 담은 Docker Compose 파일을 작성해야 합니다. Docker Compose 파일은 YAML 형식으로 작성되며, 일반적으로 docker-compose.yml
라는 이름으로 저장됩니다.
Docker Compose 파일은 다음과 같은 내용을 포함하게 됩니다:
version: '3'
services:
app:
build:
context: .
dockerfile: Dockerfile
ports:
- 8000:8000
volumes:
- .:/app
environment:
- DEBUG=True
- DB_HOST=db
links:
- db
db:
image: mysql:5.7
environment:
- MYSQL_DATABASE=mydb
- MYSQL_ROOT_PASSWORD=password
위 예시는 Django 애플리케이션과 MySQL 데이터베이스를 사용하는 Docker Compose 파일입니다. app
서비스는 현재 디렉토리의 Dockerfile을 사용하여 빌드되고, 8000번 포트로 매핑되며, 현재 디렉토리가 컨테이너의 /app
디렉토리와 공유됩니다. db
서비스는 MySQL 5.7 이미지를 사용하며 필요한 환경 변수를 설정합니다.
Docker Compose 실행하기
Docker Compose 파일을 작성한 뒤, 해당 파일이 있는 디렉토리에서 Docker Compose를 실행할 수 있습니다. 아래의 명령어를 사용하여 Docker Compose를 실행할 수 있습니다.
$ docker-compose up
위 명령어를 실행하면 Docker Compose가 설정된 서비스들을 실행하고 로컬 개발 환경을 구축합니다. 필요에 따라 옵션을 추가하여 실행 방식을 변경할 수도 있습니다.
마무리
Docker Compose를 사용하면 로컬 개발 환경을 구축하는 과정이 간단해집니다. 여러 개의 컨테이너를 하나의 서비스로 정의하고 실행할 수 있으며, 필요한 서비스들의 설정 정보를 Docker Compose 파일에 작성하여 손쉽게 관리할 수 있습니다. Docker Compose를 적절히 활용하여 개발 프로젝트의 생산성을 향상시켜보세요!
참고 자료
- Docker Compose 공식 문서: https://docs.docker.com/compose/
- Docker Compose 예제: https://github.com/docker/compose/tree/master/examples
#docker #dockercompose