728x90

1.도커 컴포즈란?

일반적인 시스템은 단일 애플리케이션으로 구동이 되지 않습니다. 여러 개의 애플리케이션이 서로 의존성 있게 구성되어 시스템이 이뤄져 있습니다. 그렇다면 흔히 하나의 컨테이너가 하나의 애플리케이션을 담당한다고 하면 여러 개의 컨테이너가 필요로 합니다. 이때 필요한 기술이 도커 컴포즈(Docker Compose)입니다. 도커 컴포즈는 yaml 포맷으로 작성되며 여러 개의 컨테이너의 실행을 한 번에 관리를 할 수 있게 해 줍니다.

2.도커 컴포즈 설치

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/
docker-compose-$(uname -s)

3.도커 컴포즈 실행과 종료

-up명령어: 컨테이너 실행

docker-compose up -d

-down명령어: 종료

docker-compose down

4.도커 컴포즈 문법

version: '2' 
services: 
 db: 
   image: mysql:5.7 
   volumes: 
     -./mysql:/var/lib/mysql 
   restart: always 
   environment: 
     MYSQL_ROOT_PASSWORD: wordpress 
     MYSQL_DATABASE: wordpress 
     MYSQL_USER: wordpress 
     MYSQL_PASSWORD: wordpress
 wordpress: 
   image: wordpress:latest 
   volumes: 
     -./wp:/var/www/html 
   ports: 
     -"8000:80" 
   restart: always 
   environment: 
     WORDPRESS_DB_HOST: db:3306 
     WORDPRESS_DB_PASSWORD: wordpress

-version: docker-compose.yml 파일의 명세 버전

version: '2'

-services: 실행할 컨테이너 정의, docker run --name wordpress과 같다고 생각할 수 있음

services:
 db:
 ...
 wordpress:
 ...

-image: 실행할 이미지 태그부분에 버전기입을안할시 자동으로 lastest버전으로 실행

services:
 wordpress:
 image: wordpress:sample

-ports: 컨테이너와 연결할 포트 {호스트 포트}:{컨테이너 포트}

services:
 db:
   ...
   ports:
     - "8000:8000"

-environment: 컨테이너에서 사용할 환경변수 - {환경변수 이름}:{값}

services:
 mysql:
 ...
   environment:
   - MYSQL_ROOT_PASSWORD=somewordpress: '3'

-volumes: 마운트하려는 디렉터리 - {호스트 디렉터리}:{컨테이너 디렉터리}

services:
 django:
 ...
   volumes:
     - ./app:/app

-build: 이미지를 자체 빌드 시 사용 - image속성 대신 사용

django:
 build:
   context: .
   dockerfile: ./compose/django/Dockerfile-dev

그외 logs, stop, start와 같은 기본 명령어는 도커 명령어와 동일!!

 

ref. 인프런 강의. 초보를 위한 도커 안내서를 보고 참고하여 정리하였습니다.

 

Docker - 도커란 무엇인가

도커, 도커를 사용하는 이유, 도커의 특징 이해

wooody92.github.io

 

 

초보를 위한 도커 안내서 - 인프런 | 강의

도커를 1도 모르는 입문자, 초보자분들을 위한 도커 안내서 입니다. 복잡한 내용을 제외하고 도커가 왜 인기가 많고 어떻게 사용하는지 빠르게 익힐 수 있도록 집중하였습니다., 데브옵스 입문

www.inflearn.com

 

728x90

'기술 > Devops' 카테고리의 다른 글

aws(2)VPC(Virtual Private Cloud)  (0) 2022.04.19
aws(1)S3(Simple Storage Services)  (0) 2022.04.19
도커(4)-이미지  (0) 2022.01.19
도커(2)-도커 설치와 실행  (0) 2022.01.17
도커(1)-도커란?  (1) 2022.01.13

+ Recent posts