4.1 도커 컴포즈를 사용하는 이유#

4.2 도커 컴포즈 설치#

4.3 도커 컴포즈 사용#

4.3.1 도커 컴포즈 기본 사용법#

4.3.2 도커 컴포즈 활용#

4.3.2.1 YAML 파일 작성#

버전 정의

version: '3.0'

서비스 정의

services:  
  web:
    # 컨테이너를 생성할때 사용하는 이미지명
    image: centos:latest
    # docker run의 --link와 동일. 다른 서비스의 서비스명만으로 접근가능. \[서비스명:별칭\] 형태로로 가능
    links: 
      - db
      - db:database
      - redis
    # docker run의 --env, -e옵션과 동일. 컨테이너 내부의 환경변수 지정
    # 배열 형태의 선언가능
    environment:
      - MYSQL_ROOT_PASSWORD= mypassword
      - MYSQL_DATABASE_NAME = mydb
    # 딕셔너리 형태의 선언가능
    environment:
      MYSQL_ROOT_PASSWORD= mypassword
      MYSQL_DATABASE_NAME = mydb
    # 컨테이너가 실행될때 실행할 명령어. docker run명령어의 마지막에 붙는 명령어와 동일
    command: apache -DFOREGROUND
    # 배열형태로도 선언가능
    command: [apache, -DFOREGROUND]
    # 특정 컨테이너에 대한 의존관계 설정. 이 항목에 명시된 컨테이너가 먼저 생성되고 실행됨. 
    depends_on
      - mysql
    # docker run명령어의 -p와 같으며 서비스의 컨테이너를 개방할 포트를 설정. 
    ports:
      - "8080"
      - "8081-8085"
      - "80:80"
    build:
    context:
    dockerfile:
    args:
      HOST_NAME: web
      HOST_CONFIG:self_config

네트워크 정의

services:  
  web:
    image: centos:latest
    network:
      - mynetwork
networks:
  mynetwork:
    driver: overlay
    driver_opts:
      subnet: "255.255.255.0"
      IPAddress: "10.0.0.2"
    config:
      subnet: 
      ip_range:
      gateway:
  ipam:
    driver: mydriver
    config:
      subnet: 
      ip_range:
      gateway:
  alice_network:
    external: true

볼륨 정의

services:  
  web:
    image: centos:latest
    volumes:
      - myvolume:/var/www/html,
volumes:
  myvolume:
    external: true

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-8) was last changed on 23-Feb-2020 21:28 by DongGukLee