Docker

[DOCKER] 도커 컴포즈

오늘도개발 2024. 7. 3. 11:16

 

1. 도커 컴포즈(Docker Compose) 란?

 

  -  여러 도커 컨테이너를 정의하고 실행하는 도구

 

  - 주로 다중 컨테이너 도커 애플리케이션을 정의하고 관리하는 데 사용

 

  - YAML 파일을 사용하여 애플리케이션의 서비스, 네트워크 및 볼륨을 정의

 

    > 서비스(Services): 도커 컴포즈 파일 내에서 정의된 각각의 컨테이너

 

    > 볼륨(Volumes): 컨테이너와 호스트 간의 데이터 공유를 위한 디렉토리 (컨테이너가 재시작 되더라도 데이터가 유지)

 

    > 네트워크(Networks): 컨테이너 간의 통신을 위한 네트워크 설정( 기본적으로 서비스 간 격리된 네트워크 생성 )


  - 도커 컴포즈 파일은 일반적으로 docker-compose.yml 파일로 작성

 

 

2. 도커 컴포즈 설치

 

  - pip3 install docker-compose 

   > 만약 docker desktop 을 설치 했다면 기본적으로 포함 되어 있으므로 추가적인 설치는 필요 없음

 

  - docker-compose --version

 

 

3. docker-compose.yml 로 여러개 컨테이너 실행하기

 

  - vim docker-compose.yml 

   > 아래의 코드 작성

 

      
version: "3.8"

services:
  mydjango:
    build: ./mydjango
    networks:
      - mynet01
    depends_on:
      - mypostgres
    restart: always

  mynginx:
    build: ./mynginx
    networks:
      - mynet01
    ports:
      - "80:80"
    depends_on:
      - mydjango
    restart: always

  mypostgres:
    build: ./mypostgres
    networks:
      - mynet01
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: admin
      POSTGRES_DB: mydb
    volumes:
      - myvol01:/var/lib/postgresql/data
    restart: always

networks:
  mynet01:

volumes:
  myvol01:

 

 - docker compose up -d --build

  > 도커 컴포즈로 빌드 및 실행

 

'Docker' 카테고리의 다른 글

[DOCKER] 도커 컨테이너  (0) 2024.07.03
[DOCKER] Docker django 배포  (1) 2024.07.02
[DOCKER] ubuntu server - django 개발 환경 구축  (0) 2024.07.01
[DOCKER] Docker PostgreSQL 설치  (0) 2024.07.01
[DOCKER] Docker 우분투 설치  (0) 2024.07.01