IT PRODUCT/Docker

docker-compose로 테스트용 mysql8 구축하기

lejpower 2024. 2. 9. 19:02

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