docker-compose를 사용하여 MySql8 개발환경을 간단하게 구성하고 워크벤치를 통해 설치된 인스턴스에 접속해본다.
개발환경
- MacOS ( Windows 동일 )
- Docker
- Workbench For mysql8 - 여기서 OS에 맞게 다운로드
docker-compose.yml
version: '3'
services:
mysql:
platform: linux/x86_64
image: mysql:8.0
container_name: local-db
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: 1234
TZ: Asia/Seoul
volumes:
- ./db:/var/lib/mysql
- ./config:/etc/mysql
- ./mysql-files:/var/lib/mysql-files
platform
- MacOS 실리콘칩인 경우 linux/x86_64 지정restart
- docker재기동시 항상 기동된다.volumes
를 지정하여 재기동시에도 데이터가 손실되지 않는다.MYSQL_ROOT_PASSWORD
- root유저의 패스워드를 지정한다.TZ
- 시간대를 설정한다.- 기타 MySql Image 주요 옵션
MYSQL_DATABASE
- 기동시 생성되는 database, 아래 user / password가 기술된 경우 해당 user는 database의 최고권한을 얻는다.MYSQL_USER
,MYSQL_PASSWORD
docker 실행
docker-compose up -d
프로세스 정상 기동 확인
docker logs local-db
...
2022-01-04T07:45:14.350060Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2022-01-04T07:45:14.350917Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2022-01-04T07:45:14.600381Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2022-01-04T07:45:14.604310Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.27' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL.
콘솔 접속
PS D:\docker> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7b669343aaff mysql:8.0 "docker-entrypoint.s…" 44 seconds ago Up 41 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp local-db
> docker exec -it mysql-db /bin/bash
root@7b669343aaff:/# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.28 MySQL Community Server - GPL
docker-compose.yml에 환경변수로 설정한 Root 패스워드 입력
workbench 접속
Connection 정보를 설정한다. 로컬의 3306포트에 인스턴스가 기동되어 있으므로 해당 정보를 입력.docker-compose
에서 database, user를 별도로 지정하지 않았다면 root유저로 접속하여 database를 생성한다.
database 생성
create database testdb;
use testdb;
반응형
'DevOps > Docker' 카테고리의 다른 글
문제 해결: Error: Error loading shared library /app/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: Exec format error (0) | 2023.02.03 |
---|---|
Jenkins로 Spring boot 배포 후 반영 안되는 문제. (0) | 2023.02.02 |
Docker container 정지 & 실행(재실행) 방법 ( stop, start ) (2) | 2022.11.23 |
Docker 오라클 이미지 생성 및 실행 21c ( 공식 github 제공 sh 활용 ) (1) | 2022.05.31 |
몽고디비(MongoDB) docker-compose 설치 및 데이터 CRUD 예제 (0) | 2022.01.28 |