1 분 소요

Docker Compose

  • 여러 개의 컨테이너가 하나의 어플리케이션으로 동작할 때 이를 테스트하려면 각, 컨테이너를 하나씩 생성 해야한다.

  • 매번 run 명령어를 이용한 CLI로 컨테이너를 생성하기보다는 여러 개의 컨테이너를 하나의 서비스로 정의해 컨테이너 묶음으로 관리할 수 있다면 조금 더 편리할 것 이다.

  • 이를 위해 도커 컴포즈는 컨테이너를 이용한 서비스의 개발을 위해 여러 개의 컨테이너를 하나의 프로젝트로서 다룰 수 있는 작업 환경을 제공한다.

  • 도커 컴포즈는 여러개의 컨테이너 옵션과 환경을 정의한 파일을 읽어 컨테이너를 순차적으로 생성하는 방식을 취한다.


Docker Compose 사용

  • 도커 컴포즈는 컨테이너의 설정이 정의된 YAML 파일을 읽어 도커 엔진을 통해 컨테이너를 생성한다.

  • 따라서 도커 컴포즈를 사용하려면 가장 먼저 YAML 파일을 작성해야 한다.

# docker 컴포즈

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
ls -l  // docker-compose 확인.
chmod +x docker-compose
ls -l // 755 확인.
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose // 바로가기 생성
docker-compose -v // v2.18.1 확인
cd ~
pwd
vi ./docker-compose.yml
!
version: '1.0'
services:
  web:
    image: moon682/composetest:web
    ports:
      - "80:80"
    links:
      - mysql:db
    command: apachectl -DFOREGROUND
  mysql:
    image: moon682/composetest:mysql
    command: mysqld
!
docker-compose up -d
docker service ls
docker-compose ls
mv docker-compose.yml test.yml // 이름을 바꿈
docker-compose -f ./test.yml up -d // 파일명을 바꿨으니 f 옵션으로 넣어줘야함
docker-compose -p test project down // 날아감
docker-compose -p root down // root가 프로젝트명
# 아래 내용으로 도커 컴포즈 생성

docker run -d --name wordpressdb -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=wordpress mysql:5.7
docker run -d --name wordpress --link wordpressdb:mysql -p 80 wordpress

cd ~
vi ./docker-compose.yml
version: '1.0'
services:
  wordpress:
    image: wordpress
    depends_on:
      - wordpressdb
    ports:
      - "80:80"
    links:
      - wordpressdb:mysql
    command: apachectl -DFOREGROUND
  wordpressdb:
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=password
      - MYSQL_DATABASE=wordpress
    command: mysqld
!
docker-compose up -d

태그:

카테고리:

업데이트:

댓글남기기