Container/Docker Compose

다시 정리해보는 Docker - Docker Compose 편

2mukee 2021. 10. 19. 19:10
320x100
320x100

Docker Compose

: 여러 개의 도커 컨테이너를 한 번에 관리하기 위한 도구

: yml 형식의 파일을 통해 구성 정보를 정의

 

 

 

설치방법

: 도커 컴포즈 깃허브 (https://github.com/docker/compose)에서 설치

=> README 참조 (최신 버전 확인)

 

curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

: 도커 컴포즈 다운로드

 

chmod +x /usr/local/bin/docker-compose

: 실행 권한 부여

 

docker-compose --version

: 도커 컴포즈 버전 확인 (정상 설치 여부 확인)

 

 

 

 

도커 컴포즈 명령어

ㆍ컴포즈 실행 (컴포즈 파일이 존재하는 디렉터리에서 실행)

: docker-compose up -d 

: docker-compose -f 컴포즈파일_경로 up

: -d = background 실행 

: -f = file 지정

: --scale 서비스_명=서비스수 = 서비스에 할당되는 컨테이너의 개수

 

ㆍ컴포즈 종료

: docker-compose down

: 모든 컴포즈 컨테이너 종료 및 삭제

 

ㆍ컴포즈 정지

: docker-compose stop

: 모든 컴포즈 컨테이너 정지

 

ㆍ컴포즈 컨테이너 확인

: docker-compose ps

 

ㆍ로그 확인

: docker-compose logs 서비스_이름 -f

: -f = 실시간 로그 확인

 

ㆍ컨테이너 조작 (실행 / 정지된 컨테이너 시작 / 정지 / 일시정지 / 재개)

: docker-compose run 서비스_명

: docker-compose start 서비스_명

: docker-compose stop 서비스_명

: docker-compose pause 서비스_명

: docker-compose unpause 서비스_명

 

ㆍ공개된 포트 표시

: docker-compose port

 

 

 

 

※ YML / YAML

: 들여쓰기를 통해 데이터의 계층 구조를 나타내는 구조화 데이터 표현 포맷

: 스페이스를 통해 들여쓰기 구분

: -을 앞에 두면 배열의 요소 표현

: 참조 (https://2mukee.tistory.com/230)

 

 

 

 

도커 컴포즈 최상위 Key

ㆍversion

: 도커 파일의 버전을 나타내는 Key (필수요소) 

: 3이상 작성하는 것을 권장 

: Docker Engine 17 이상의 경우 반드시 3이상으로 작성

: Docker swarm 사용시에도 3이상으로 작성

 

ㆍservices

: 도커 컴포즈를 통해 실행시킬 서비스 정의 (필수요소)

: 서비스안에 컨테이너를 정의

 

ㆍnetworks

: 브릿지, 컨테이너 등 컴포즈 내에서 사용될 네트워크 인터페이스 정의

 

 

 

도커 컴포즈 파일 예시

version: '3.8'

services:
 main:
  image: 2mukee/mh_main_deploy
  ports:
   - 443:17260
  depends_on:
   - db
  environment:
   - TZ=Asia/Seoul

 db:
  image: 2mukee/mh_db_deploy
  volumes:
   - /home/mh-dev/data:/data/db
  environment:
   - TZ=Asia/Seoul

 api:
  image: 2mukee/mh_api_deploy
  depends_on:
   - main
  environment:
   - TZ=Asia/Seoul
  env_file:
   - ./api/mh.env

참조 (https://2mukee.tistory.com/233)

 

 

 

 

 

 

Refference

: 완벽한 IT 인프라 구축을 위한 Docker (http://www.yes24.com/Product/Goods/64728692)

 

도커 컴포즈 파일 작성 기본

YAML 문법 작성법 : 도커 컴포즈 파일은 yaml 포맷으로 작성 ㆍYaml 파일 작성법 : https://2mukee.tistory.com/232 도커 컴포즈 최상위 Key ㆍversion : 도커 파일의 버전을 나타내는 Key (필수요소) : 3이상 작..

2mukee.tistory.com

 

300x250
728x90