본문 바로가기
가상화/docker

#7 docker - docker-compose

by gntpapa 2019. 11. 25.
 도커를 실행할 때 매번 아래 처럼 명령어를 실행한다고 가정해보자. 물론 script로 만들어서 사용하면 문제가 없지만, 이미지가 많아지면 많아 질수록 관리하기가 쉽지는 않다.
$ docker run -d -p 5000:5000 --restart=always -e REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/data -v ${PWD}/data:/data --name registry registry:2
 
 docker-compose를 활용하면 도커를 yaml 형식으로 관리할 수 있습니다. 위 명령어를 yaml 형식으로 아래처럼 변경이 가능합니다. yaml 파일로 변경한 것 뿐인데, 안구정화가 되는 느낌입니다. 
version: ‘3'
services:
   registry:
      image: registry
      container_name: registry
      ports:
         - "5000:5000"
      environment:
         TZ: "GMT-9"
         REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data
      volumes:
         - /data:/data
      restart: always
 
  • 설치 방법
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
 
  • 확인
[root#] sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
[root#] docker-compose —version
docker-compose version 1.24.1, build 4667896b
 
Docker-compose가 설치가 완료 되면, client 서버에 yaml파일을 업로드 하고 해당 경로에서 손쉽게 up/down이 가능해집니다.
docker-compose -f yaml파일 up -d
docker-compose -f yaml파일 down