docker-compose를 사용해서 테스트용 mysql을 구축할 수 있습니다.
vi docker-compose.yml
version: "3"
services:
db:
image: mysql:8.0
volumes:
- db-store:/Users/uijun-lee/Private/Git/docker-mysql8/lib/mysql
- ./logs:/Users/uijun-lee/Private/Git/docker-mysql8/log/mysql
- ./my.cnf:/etc/mysql/conf.d/my.cnf
environment:
- MYSQL_DATABASE=${DB}
- MYSQL_USER=${USER}
- MYSQL_PASSWORD=${PASSWORD}
- MYSQL_ROOT_PASSWORD=${ADMIN_PASSWORD}
- TZ=Asia/Tokyo
ports:
- ${DB_PORT}:3306
db-testing:
image: mysql:8.0
volumes:
- ./my.cnf:/etc/mysql/conf.d/my.cnf
tmpfs:
- /var/lib/mysql
- /var/log/mysql
environment:
- MYSQL_DATABASE=${DB}
- MYSQL_USER=${USER}
- MYSQL_PASSWORD=${PASSWORD}
- MYSQL_ROOT_PASSWORD=${ADMIN_PASSWORD}
- TZ=Asia/Tokyo
volumes:
db-store:
░▒▓ ~/Private/Git/docker-mysql8 docker-compose up -d ✔ at 10:00:42 ▓▒░
WARN[0000] The "DB_PORT" variable is not set. Defaulting to a blank string.
[+] Running 2/3
⠼ Network docker-mysql8_default Created 0.5s
✔ Container docker-mysql8-db-1 Started 0.4s
✔ Container docker-mysql8-db-testing-1 Started 0.4s
░▒▓ ~/Private/Git/docker-mysql8 docker-compose ps ✔ at 10:00:46 ▓▒░
WARN[0000] The "DB_PORT" variable is not set. Defaulting to a blank string.
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
docker-mysql8-db-1 mysql:8.0 "docker-entrypoint.s…" db 7 seconds ago Up 6 seconds 33060/tcp, 0.0.0.0:32774->3306/tcp, :::32774->3306/tcp
docker-mysql8-db-testing-1 mysql:8.0 "docker-entrypoint.s…" db-testing 7 seconds ago Up 6 seconds 3306/tcp, 33060/tcp
░▒▓ ~/Private/Git/docker-mysql8 docker-compose exec db mysql -V ✔ at 10:00:52 ▓▒░
WARN[0000] The "DB_PORT" variable is not set. Defaulting to a blank string.
mysql Ver 8.0.36 for Linux on aarch64 (MySQL Community Server - GPL)
░▒▓ ~/Private/Git/docker-mysql8 docker-compose exec db bash -c 'mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE}'
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.36 MySQL Community Server - GPL
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
데이터의 초기화
░▒▓ ~/Pr/Git/docker-mysql8 docker-compose down --volumes
░▒▓ ~/Pr/Git/docker-mysql8 docker-compose up -d
로그의 확인
░▒▓ ~/Pr/Git/docker-mysql8 docker-compose logs mysql8