기본적으로 Docker for mac or window를 설치하면 기본적으로 docker compose가 설치됨
Linux의 경우는 docker-compose를 따로 설치해줘야 함
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)"
sudo chmod +x /usr/local/bin/docker-compose
# or
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)"
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-Linux-x86_64"
docker-compose version
.yml
또는 .yaml
이라는 확장자를 가짐
띄어쓰기를 가지고 데이터를 표현(탭 문자는 허용되지 않음)
YAML은 Yet Another Markup Language 혹은 YAML ain’t markup language(재귀 약어)
* 아래 예시는 인프런 강의 예제를 참고함
[ 예시 ]
1. Yaml파일 생성
- Client로 한땀한땀 입력한 코드를 한번에 key value형태로 작성
```bash
version: '2'
services:
db: # name
image: mariadb:10.9 # docker 명령어 제일 마지막에 썼던 이미지와 태그
volumes: # -v 옵션으로 주었던 데이터 유실을 방지하기 위한 옵션
- ./mysql:/var/lib/mysql
restart: always # 컨테이너가 만약 죽게되면 도커가 자동으로 띄어주는 역할(항상 재시작)
environment: # -e 로 지정했던 환경변수를 지정해줌
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_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
```
2. `docker-compose`로 실행
- 자동으로 docker-compose.yml 파일을 읽어서 실행함
[ 참고 자료 ]
인프런 강의 '초보를 위한 도커 안내서'