본문으로 건너뛰기

Docker-compose사용


13306포트로 접속하면 mysql컨테이너(3306)으로 접속
23306포트로 접속하면 mariadb컨테이너(3306)으로 접속하게 해놨다.

사용

docker-compose up -d

종료

docker-compose down
version: "3.8" # file version
services:
mysql:
image: mysql
container_name: mysql
ports:
- "13306:3306"
environment: # -e option
MYSQL_ROOT_PASSWORD: "password"
MYSQL_DATABASE: my-data1
TZ: 'Asia/Tokyo'
command: # Exec Command
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
volumes:
- ~/mysql/volume:/var/lib/mysql # -v option
maria:
image: mariadb
container_name: maria
ports:
- "23306:3306"
environment: # -e option
MYSQL_ROOT_PASSWORD: "password"
MYSQL_DATABASE: my-data2
TZ: 'Asia/Tokyo'
command: # Exec Command
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
volumes:
- ~/maria/volume:/var/lib/maria # -v option

컴포즈를 사용하지 않고 단순하게 run 식으로 하게 된다면 겁나 길어지고 번거로워 진다 -_-;;

docker run -d -it --rm -p 33006:3306 -e MYSQL_ROOT_PASSWORD=password --name mysql -v /c/my-db/volume:/var/lib/mysql mysql --character-set-server=utf8bm4 --collation-server=utf8mb4_unicode_ci
  • --rm : stop으로 종료시에 rm 해주는 옵션
  • -p 33006:3306 : 로컬에서 33006으로 접속하면 컨테이너쪽을 3306으로 접속하는 의미
  • --name : 이 컨테이너 이름을 mysql로 한다
  • -v : /c/my-db/volume 내 컴터의 요 폴더에 변경사항을 저장한다. 원래는 컨테이너 머신의 /var/lib/mysql 요기에 있는넘들