도커 컴포즈란?
- 도커 여러 개, 네트워크, 볼륨을 각각 따로 처리하는 것은 상당히 불편하다.
- 따라서 이를 하나의 텍스트 파일에 기재해, 명령어 한번에 시스템 전체를 실행하는 도구가 필요하게 되었다.
- 이를 docker compose라고 한다.
도커 컴포즈 설치
bash
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose -v
yaml 파일 작성
도커 컴포즈로 무슨 파일을 돌릴지 확인하는 파일. 보통 docker-compose.yaml이라고 명명한다.
다음은 대표적인 docker-compose.yaml의 예시이다.
yaml
version: '3.9'
services:
db:
image: mysql:8
volumes:
- db:/var/lib/mysql
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=seosh817
- MYSQL_DATABASE=seosh817
- MYSQL_USER=seosh817
- MYSQL_PASSWORD=seosh817
networks:
- wordpress
빌드 & 실행
bash
# 모든 이미지 build
docker-compose build
# 백그라운드로 도커 컴포즈 실행
docker-compose up -d
멈춤 & 종료
bash
# 모든 이미지 멈춤
docker-compose stop
# 모든 이미지 내리기
docker-compose delete