Docker Compose

2023. 10. 4. 14:41docker

Docker Compose

Docker Compose는 여러 개의 독립적인 Docker 컨테이너를 정의하고 관리하기 위한 도구다. Docker Compose를 사용하면 여러 컨테이너 간의 상호 작용 및 구성 관리를 단순화할 수 있다.

 

 

Docker Compose의 주요 개념
  • Compose 파일 : Docker Compose에서는 YAML 형식의 Compose 파일을 사용하여 컨테이너를 정의한다. 이 파일에는 서비스, 네트워크, 볼륨 및 환경 변수와 같은 컨테이너 설정이 포함된다.
  • 서비스 : Compose 파일에서 정의한 각 컨테이너는 "서비스"로 간주된다. 예를 들어, 웹 애플리케이션과 데이터베이스 서버는 각각 별도의 서비스로 정의된다.
  • 컨테이너 관리 : Docker Compose를 사용하면 여러 컨테이너를 한 번에 시작하거나 중지하고, 로그를 확인하고, 상태를 모니터링할 수 있다. "docker-compose up", "docker-compose down", "docker-compose logs" 등의 명령어를 사용하여 컨테이너를 관리한다.
  • 컨테이너 간 통신 : 서비스 간 통신은 Compose 파일에 정의된 네트워크 설정을 통해 관리된다. 이를 통해 컨테이너 간에 IP 주소 또는 호스트 이름을 사용하여 통신할 수 있다.
  • 환경 변수 및 볼륨 : Compose 파일에서 환경 변수를 설정하거나 데이터를 저장하기 위한 볼륨을 정의할 수 있다. 이를 통해 컨테이너 간 데이터 공유와 구성 관리를 단순화할 수 있다.

 

 

주요 사용 사례
  • 로컬 개발 환경 구축 : 개발자들은 로컬 환경에서 애플리케이션의 여러 구성 요소를 Docker Compose로 정의하여 테스트 및 디버깅을 수행할 수 있다.
  • 다중 컨테이너 애플리케이션 배포 : 복잡한 애플리케이션을 Docker Compose로 정의하고, 개발 환경에서 프로덕션 환경으로 쉽게 이동할 수 있다.
  • 테스트 환경 : 테스트 스위트를 위한 컨테이너 기반 테스트 환경을 설정하고 테스트를 자동화할 수 있다.
  • 스케일링 및 로드 밸런싱 : Compose 파일을 기반으로 컨테이너를 여러 개 복제하여 애플리케이션을 확장하고 로드 밸런싱할 수 있다.

 

 

docker compose 파일 생성 예제

version: '3'
services:
  nginx:
    image: nginx
    ports:
      - 600:80
    volumes:
      - ./:/usr/share/nginx/html/

확인

 

 

index.html 파일 생성

 

 

실행

docker compose up -d

 

 

windows에서 접속

 

 

다른 방법
  • Dockerfile 생성

FROM nginx:latest

ADD index.html /usr/share/nginx/html/

 

 

  • docker-compose.yml 생성

version: '3'

services:

  nginx:

    build:

      context: .

    ports:

      - 8000:80

 

확인

 

 

index.html 생성

 

 

windows에서 접속

 

 

그 밖의 명령어

log 확인도 가능

 

 

docker compose 제거

 

 

재구성

'docker' 카테고리의 다른 글

Flask  (0) 2023.10.04
WordPress  (0) 2023.10.04
docker 기본 사항  (0) 2023.10.04
docker 설치  (0) 2023.10.04
자동화 실습  (0) 2023.08.31