관심 기술/docker

docker-compose란?

쁘로그램어 2018. 7. 10. 17:53

docker-compose는 멀티 컨테이너 Docker 응용 프로그램을 정의하고 실행하기위한 도구입니다.

docker-compose를 사용하면 YAML 파일을 사용하여 응용 프로그램의 서비스를 구성 할 수 있습니다. 


공식 사이트를 참고하여 docker-compose를 설치하였다.

자세한 내용은 공식 사이트를 참고하자.

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


# docker-compose 설치 명령

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

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

$ docker-compose --version


# docker-compose --help



# Apache + PHP + MariaDB를 구동하는 docker-compose 파일


docker-compose2.yml

version: "3.6"

services: 

  db: 

    environment: 

      MYSQL_DATABASE: database

      MYSQL_PASSWORD: test

      MYSQL_ROOT_PASSWORD: root

      MYSQL_USER: admin

    image: mariadb

    ports: 

      - "8889:3306"

    restart: always

    volumes: 

      - "./mysql:/var/lib/mysql"

  web: 

    environment: 

      - ALLOW_OVERRIDE=true

    image: tutum/apache-php

    links: 

      - db

    ports: 

      - "80:80"

    volumes: 

      - "./app:/app" 


# nexclipper (docker monitoring)


docker-compose1.yml

version: "3"

services:

  nexclipper1:

    image: nexclipper/nexclipper:v0.9.1

    volumes:

      - /var/run/docker.sock:/var/run/docker.sock

      - /var/lib/docker:/var/lib/docker

    ports:

      - "20001:9001"


  nexclipper2:

    image: nexclipper/nexclipper:v0.9.1

    volumes:

      - /var/run/docker.sock:/var/run/docker.sock

      - /var/lib/docker:/var/lib/docker

    ports:

      - "20002:9001" 


# 참고 사이트 #

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

http://avilos.codes/infra-management/virtualization-platform/docker/docker-compose/

http://raccoonyy.github.io/docker-usages-for-dev-environment-setup/