도커 컴포즈와 스택의 차이
Docker Compose
: 컨테이너를 정의하기 위한 도구
: docker compose 명령이 실행되는 순간에만 컨테이너의 상태를 체크
: 실행된 컨테이너가 오류 등으로 종료 되었을 때 조치 불가
ㆍ작동방식
: 단일 도커 엔진에서 실행
: compose 파일에 명시된 옵션을 통해 컨테이너, 볼륨, 네트워크 등을 생성하고 업데이트
: docker에 통합되어 있지 않기 때문에 linux에서 설치시 따로 설치 필요
ㆍ실행 명령어
: docker-compose up -d
ㆍ무시되는 컴포즈 파일 환경설정
: depoy / restart-policy
Docker Stack
: 서비스를 정의하기 위한 도구
: 컨테이너의 상태를 항시 체크하여 문제 발생시 조치 가능
: 모니터링이 가능
ㆍservice
: 컨테이너를 통해 작동시키는 기능에 대한 개념
ㆍ작동방식
: docker swarm에서 사용 가능
: 싱글 도커 엔진에서 지원하지 않는 환경설정 지원 (replicas, deploy, roles)
: docker-compos version 3 이후 사용 가능
ㆍ실행 명령어
: docker swarm init
: docker stack deploy -c docker-compos.yml stack_name
ㆍ무시되는 컴포즈 파일 환경설정
: build
: cgroup_parent
: container_name
: depends_on
: devices
: external_links / links / network_mode
: restart
: security_opt
: stop_signal
: sysctls
: tmpfs
: userns_mode
ㆍ권장되는 사항
: 컴포즈 파일명을 이름을 구분하여 사용
: docker-stack.yml (docker-compose version 3부터 사용)
: docker-cloud.yml (docker cloud 서비스도 이용가능)
: docker-compose.yml (기본 compose 파일 포맷)
Refference