일반적인 시스템은 단일 어플리케이션으로 구동되지 않는다.
여러개의 시스템으로 이루어져있다.
하나의 컨테이너가 하나의 애플리케이션을 담당한다고 하면 여러 개의 컨테이너가 필요하다.
여러개의 컨테이너를 한번에 실행하고 관리할 수 있도록 해주는 것이 도커컴포즈이다.
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod를 통해서 실행이 가능하게 설정한다.
sudo chmod +x /usr/local/bin/docker-compose
제대로 설치되었는지 확인해본다.
docker-compose version
version: '3.1'
volumes:
[사용할 볼륨]:
external: true
name: [볼륨 이름]
services:
db:
image: mysql:8.0.13
restart: always
command: --lower_case_table_names=1
container_name: [컨테이너명]
environment:
- MYSQL_DATABASE=[디비명]
- MYSQL_ROOT_PASSWORD=[비밀번호]
- MYSQL_ROOT_HOST=%
- TZ=Asia/Seoul
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
volumes:
- [사용할 볼륨]:/var/lib/mysql
ports:
- 3306:3306
여기서 사용한 명령어에 대해서는 이 글에서 확인할 수 있다.
db
라는 볼륨을 하나 생성한다.
sudo docker volume create --name=[볼륨 이름]
파일에 명시한 내용으로 컨테이너를 생성하고 실행한다.
sudo docker-compose up -d
먼저 컨테이너에 내부에 접속한다.
sudo docker exec -it [컨테이너명] bash
it
는 interactive terminal를 의미한다.그 후 mysql -u root -p
명령어로 mysql에 접속할 수 있다.
추후 볼 자료
도커 컴포즈(docker-compose)로 개발환경 구축해보기
reference
ubuntu20.04에서 docker-compose 설치하기
Ubuntu 20.04 에 Docker, Docker-Compose 설치하는 법
Docker + MySQL 원격 접속
docker-compose로volumes 설정