Docker Compose 기본
YAML
YAML은 데이터를 표현하기 위한 포맷 중 하나이다.
도커 컴포즈를 통해 관리할 컨테이너(서비스)를 docker-compose.yml 파일에 정의한다.
yml은 JSON과 같이 데이터를 작성하기 위한 양식이다. JSON과 유사하지만 간결하고 가독성이 더 뛰어나다.
JSON은 {}와 "" , 가 필수인 반면 YAML은 띄어쓰기 기반으로 정보를 구분합니다.

Docker Compose 명령어

Docker Compose 에서 말하는 서비스는 컨테이너와 동일한 개념이다.
Docker Compose 실습


docker-compose.yml 파일은 크게 두 가지로 나눌 수 있다.
첫 번째 버전 부분에는 docker-compose의 버전을 의미한다.
어떤 버전을 사용하냐에 따라서 기능들이 더 추가되거나 없을 수도 있다.
services 부분에는 실제로 실행할 컨테이너들의 리스트를 출력한다.
services의 바로 아래 단계에 있는 목록들이 컨테이너를 의미한다.
docker compose up -d --build
로컬에 이미지가 있어도 다시 이미지를 빌드
소스 코드를 변경하고 새로운 버전으로 올리기 위해서는 이미지의 태그를 변경하거나 docker compose up 명령을 사용할 때 --build 옵션을 주면 된다.
공통 변수 활용

Docker Compose 예시

docker-compose.yml 파일의 leafy-postgres 부분이 실행하는 컨테이너는 docker run 명령을 사용해서 컨테이너를 실행하는 것과 완전히 동일한 결과를 제공한다. 컨테이너의 이름은 서비스의 이름과 매칭된다. 이미지명은 이미지 속성의 값과 매칭된다.

이미지가 없거나 --build 옵션을 줄 경우에는 leafy-backend 폴더의 Dockerfile파일과 소스 코드를 활용해서 새로운 이미지를 빌드한다.

environment를 통해 환경변수값을 설정한다.

depend_on 부분은 depend_on에 지정한 컨테이너가 실행될 때까지 해당 컨테이너의 실행을 대기한다.
Docker Compose volume

volumes:
mydata:
위와 같이 볼륨을 함께 생성할 수 있다.
볼륨을 사용할때는 컨테이너의 바로 아래 단계에서 volumes를 추가하면 된다.
volumes에 넣는 값을 보면 mydata 볼륨을 /var/lib/postgresul/data로 마운트 했다는 의미다.
리소스 사용량 제한, 재시작 정책 지정

-cpus와 -memory 옵션을 사용해서 컨테이너의 CPU와 메모리 사용량을 제한할 수 있다.
deploy:resources:limits 옵션에 cpus와 memory에 값을 지정하면 된다.
'Docker' 카테고리의 다른 글
10. 도커와 DevOps (0) | 2024.08.16 |
---|---|
7. 도커 볼륨 (0) | 2024.08.16 |
6. 네트워크 (1) | 2024.08.15 |
5. 컨테이너 애플리케이션 구성 (0) | 2024.08.15 |
4. 이미지 빌드 (0) | 2024.08.14 |
Docker Compose 기본
YAML
YAML은 데이터를 표현하기 위한 포맷 중 하나이다.
도커 컴포즈를 통해 관리할 컨테이너(서비스)를 docker-compose.yml 파일에 정의한다.
yml은 JSON과 같이 데이터를 작성하기 위한 양식이다. JSON과 유사하지만 간결하고 가독성이 더 뛰어나다.
JSON은 {}와 "" , 가 필수인 반면 YAML은 띄어쓰기 기반으로 정보를 구분합니다.

Docker Compose 명령어

Docker Compose 에서 말하는 서비스는 컨테이너와 동일한 개념이다.
Docker Compose 실습


docker-compose.yml 파일은 크게 두 가지로 나눌 수 있다.
첫 번째 버전 부분에는 docker-compose의 버전을 의미한다.
어떤 버전을 사용하냐에 따라서 기능들이 더 추가되거나 없을 수도 있다.
services 부분에는 실제로 실행할 컨테이너들의 리스트를 출력한다.
services의 바로 아래 단계에 있는 목록들이 컨테이너를 의미한다.
docker compose up -d --build
로컬에 이미지가 있어도 다시 이미지를 빌드
소스 코드를 변경하고 새로운 버전으로 올리기 위해서는 이미지의 태그를 변경하거나 docker compose up 명령을 사용할 때 --build 옵션을 주면 된다.
공통 변수 활용

Docker Compose 예시

docker-compose.yml 파일의 leafy-postgres 부분이 실행하는 컨테이너는 docker run 명령을 사용해서 컨테이너를 실행하는 것과 완전히 동일한 결과를 제공한다. 컨테이너의 이름은 서비스의 이름과 매칭된다. 이미지명은 이미지 속성의 값과 매칭된다.

이미지가 없거나 --build 옵션을 줄 경우에는 leafy-backend 폴더의 Dockerfile파일과 소스 코드를 활용해서 새로운 이미지를 빌드한다.

environment를 통해 환경변수값을 설정한다.

depend_on 부분은 depend_on에 지정한 컨테이너가 실행될 때까지 해당 컨테이너의 실행을 대기한다.
Docker Compose volume

volumes:
mydata:
위와 같이 볼륨을 함께 생성할 수 있다.
볼륨을 사용할때는 컨테이너의 바로 아래 단계에서 volumes를 추가하면 된다.
volumes에 넣는 값을 보면 mydata 볼륨을 /var/lib/postgresul/data로 마운트 했다는 의미다.
리소스 사용량 제한, 재시작 정책 지정

-cpus와 -memory 옵션을 사용해서 컨테이너의 CPU와 메모리 사용량을 제한할 수 있다.
deploy:resources:limits 옵션에 cpus와 memory에 값을 지정하면 된다.
'Docker' 카테고리의 다른 글
10. 도커와 DevOps (0) | 2024.08.16 |
---|---|
7. 도커 볼륨 (0) | 2024.08.16 |
6. 네트워크 (1) | 2024.08.15 |
5. 컨테이너 애플리케이션 구성 (0) | 2024.08.15 |
4. 이미지 빌드 (0) | 2024.08.14 |