도커(Docker)와 도커 컴포즈(Docker Compose)는 현대적인 소프트웨어 개발 및 배포에서 필수적인 도구입니다. 이들은 애플리케이션을 빠르고, 일관되게, 안전하게 배포하는 데 도움을 줍니다.
도커는 애플리케이션을 컨테이너화하는 플랫폼입니다. 컨테이너는 코드, 런타임, 시스템 도구, 라이브러리 등 애플리케이션을 실행하는 데 필요한 모든 것을 포함하며, 어떠한 리눅스 및 윈도우 시스템에서도 동일한 방식으로 실행됩니다. 도커는 개발자가 애플리케이션을 빠르게 개발하고, 여러 환경에서 일관성 있는 동작을 보장하는 데 도움을 줍니다.
도커의 주요 구성 요소는 다음과 같습니다:
도커 컴포즈는 여러 컨테이너로 구성된 애플리케이션을 정의하고 관리하는 도구입니다. docker-compose.yml
파일을 통해 서비스, 네트워크, 볼륨 등 애플리케이션의 모든 구성 요소를 정의하고, 단일 명령어로 이러한 서비스들을 함께 빌드하고 시작할 수 있습니다. Docker Compose는 복잡한 애플리케이션을 쉽게 구성하고 관리할 수 있게 해주며, 개발, 테스팅, 스테이징, 프로덕션 환경에서의 일관성을 보장합니다.
도커 컴포즈의 주요 기능은 다음과 같습니다:
도커와 도커 컴포즈는 현대적인 애플리케이션 개발과 배포에서 중요한 역할을 하며, 빠르고 효율적인 개발 프로세스를 지원합니다.
docker-compose.yml
파일을 사용하여 여러 서비스(컨테이너)를 구성하고, 이 서비스들이 함께 작동하는 방식을 정의합니다.docker build -t [이미지 이름] .
Dockerfile
을 사용하여 이미지를 빌드합니다.docker images
docker run [옵션] [이미지 이름]
docker ps
docker stop [컨테이너 이름 또는 ID]
docker logs [컨테이너 이름 또는 ID]
docker exec -it [컨테이너 이름 또는 ID] /bin/bash
docker rmi [이미지 이름 또는 ID]
docker rmi $(docker images -q)
docker rmi -f [이미지 이름 또는 ID]
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
docker rm -f [컨테이너 이름 또는 ID]
docker-compose up
docker-compose.yml
파일에 정의된 모든 서비스(컨테이너)를 빌드(필요한 경우)하고 시작합니다.d
플래그를 추가하면 백그라운드에서 서비스가 실행됩니다.docker-compose stop
docker-compose down
v
플래그를 추가하면 관련 볼륨도 함께 제거합니다.docker-compose logs [서비스 이름]
docker-compose restart
docker-compose build
docker-compose.yml
파일에 정의된 서비스의 이미지를 빌드합니다.docker-compose ps