https://docs.docker.com/compose/

 

Overview of Docker Compose

 

docs.docker.com

Docker Compose란?

  • 여러 Container를 일괄적으로 정의하고 실행할 수 있는 툴
    • Container들을 서비스단위로 묶어서 관리

 

Docker Compose 설치

https://docs.docker.com/compose/install/

 

Install Docker Compose

 

docs.docker.com

 

 

Docker compose yml 파일내 명령어

Docker Compose 명령어 사용예)
version
  compose 버전, 버전에 따라 지원 문법이 다름
version: "2"
services
  컴포즈를 이용해서 실행할 Container 옵션 정의
service:
  webserver:
    image: nginx
  db:
    image: redis
build
  컨테이너 빌드
web:
  build: .
image
  compose를 통해 실행할 이미지를 지정
redis:
  image: redis
command
  Container에서 실행될 명령어 지정
 web:
    build: .
    command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
port
  Container가 공개하는 포트를 나열
 ports:
      - "3000:3000"
link
  다른 Container와 연계할 Container지정
webserver:
  image: wordpress
    link:
      db: mysql
expose
  포트를 링크로 연계된 Container에게만 공개할 포트
services:
  nginx:
    build: .
    expose:
      - "8080"
volumes
  Container 볼륨 마운트지정
services:
  db:
    image: postgres
    volumes:
      - /db:/var/lib/postgresql/data
environment
  환경변수 설정
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
restart
  
Container가 종료될 때 적용할 restart 정책
  no: 재시작 되지 않음
  always: Container를 수동으로 끄기 전까지 항상 재시작
  no-failure: 오류가 있을 시에 재시작
    volumes:
      - db_data:/var/lib/mysql
    restart: always
depends_on
  Container 간의 종속성을 정의
  Container간 동작 순서 지정
services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    
  wordpress:
    depends_on:
      - db

 

Docker Compose 실행명령어

https://docs.docker.com/compose/reference/

 

Overview of docker-compose CLI

 

docs.docker.com

 

'클라우드 > Docker' 카테고리의 다른 글

Docker network  (0) 2021.08.17
Container volume  (0) 2021.08.15
Docker resource 관리  (0) 2021.08.14
Docker registry  (0) 2021.08.11
Docker image 생성 및 테스트  (0) 2021.08.11

+ Recent posts