DevOps 환경에서의 효율적인 개발을 위해 Docker를 활용한 로컬 개발 환경 구축은 필수적입니다. Docker는 개발자들이 애플리케이션을 컨테이너라는 독립된 환경에서 실행할 수 있게 해 주어, 복잡한 종속성 문제를 해결하고 일관된 개발 환경을 보장합니다. 이번 튜토리얼에서는 Docker를 사용한 로컬 개발 환경 구축 과정을 단계별로 소개하겠습니다.
1단계: Docker 설치
Docker를 사용하기 위해 먼저 Docker Desktop을 설치해야 합니다. 운영 체제에 맞는 설치 프로그램을 Docker 공식 웹사이트에서 다운로드하세요. 설치가 완료되면, Docker가 정상적으로 작동하는지 확인하기 위해 아래 명령어를 터미널에 입력해봅니다.
docker --version
정상적으로 설치되었다면, Docker 버전 정보가 출력됩니다.
2단계: 프로젝트 디렉토리 생성
이제 로컬 개발 환경을 구축할 프로젝트 디렉토리를 생성합니다. 터미널에서 다음 명령어를 입력하여 디렉토리를 만듭니다.
mkdir my-docker-app
cd my-docker-app
이제 my-docker-app 디렉토리 안에서 모든 작업을 진행할 것입니다.
3단계: Dockerfile 작성
Dockerfile은 Docker 이미지를 빌드하기 위한 설정 파일입니다. my-docker-app 디렉토리 안에 Dockerfile이라는 이름의 파일을 생성하고 다음 내용을 추가합니다.
FROM node:14
# 작업 디렉토리 생성
WORKDIR /usr/src/app
# 패키지.json 파일 복사
COPY package*.json ./
# 의존성 설치
RUN npm install
# 애플리케이션 소스 복사
COPY . .
# 애플리케이션 실행
CMD ["npm", "start"]
# 애플리케이션이 사용하는 포트
EXPOSE 3000
위의 Dockerfile은 Node.js 애플리케이션을 위한 기본 설정을 포함하고 있습니다. 원하는 언어와 프레임워크에 맞게 수정할 수 있습니다.
4단계: docker-compose.yml 파일 작성
Docker Compose는 여러 개의 컨테이너를 정의하고 실행할 수 있게 해주는 도구입니다. docker-compose.yml 파일을 생성하고 아래와 같이 작성합니다.
version: '3'
services:
web:
build: .
ports:
- "3000:3000"
volumes:
- .:/usr/src/app
environment:
- NODE_ENV=development
이 파일은 web이라는 서비스를 정의하며, Dockerfile을 기반으로 이미지를 빌드하고, 3000번 포트를 호스트와 연결합니다. 또한, 현재 디렉토리를 컨테이너의 작업 디렉토리와 연결하여 코드 변경 시 자동으로 컨테이너에 반영되도록 설정합니다.
5단계: 개발 서버 실행
이제 모든 설정을 마쳤다면, Docker Compose를 사용하여 개발 서버를 실행할 차례입니다. 터미널에서 다음 명령어를 입력합니다.
docker-compose up
이 명령어는 Dockerfile을 기반으로 이미지를 빌드하고 컨테이너를 실행합니다. 실행 후 http://localhost:3000 주소로 접속해 애플리케이션이 정상적으로 작동하는지 확인합니다.
6단계: 컨테이너 관리
컨테이너를 중지하고 싶다면, 아래 명령어를 사용하세요.
docker-compose down
컨테이너의 상태를 확인하고 싶다면 다음 명령어를 입력합니다.
docker ps
이 명령어는 현재 실행 중인 컨테이너 목록을 보여줍니다.
마무리
이번 튜토리얼에서는 Docker를 이용해 로컬 개발 환경을 구축하는 과정을 단계별로 살펴보았습니다. Docker를 활용하면 개발 환경이 표준화되어, 팀원 간의 협업이 보다 용이해집니다. 앞으로도 다양한 프로젝트에서 Docker를 활용해 보세요. 이 튜토리얼을 바탕으로 자신의 필요에 맞게 설정을 추가하거나 수정해 보시길 바랍니다. Happy Coding!