728x90
반응형
윈도우 도커 데스크탑에 파일 공유 폴더를 추가합니다.
MySQL 도커 이미지를 다운로드합니다.
PS C:\Users\myanj> docker pull mysql:8.0.20
:
PS C:\Users\myanj> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 8.0.20 30f937e841c8 7 days ago 541MB
MySQL 컨테이너 생성 및 실행에 사용할 docker-compose.yml 파일을 작성합니다.
version: "3" # 파일 규격 버전
services: # 컨테이너 정의
db: # 서비스 이름
image: mysql:8.0.20 # 이미지 이름
container_name: mysql_db # 컨테이너 이름
ports:
- "3306:3306" # 컨테이너 외부 포트 : 컨테이너 내부 포트
environment: # 환경 변수
MYSQL_ROOT_PASSWORD: "root" # MYSQL 루트 패스워드
command: # 명령어 실행 (한글 깨짐 방지)
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
volumes: # 컨테이너 외부 볼륨 : 컨테이너 내부 볼륨
- D:/docker/mysql/datadir:/var/lib/mysql
작성한 docker-compose.yml 파일을 이용해서 MySQL 컨테이너를 백그라운드로 실행합니다.
PS D:\docker> docker-compose up -d
Creating network "docker_default" with the default driver
Creating mysql_db ... done
PS D:\docker> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
557b909aba81 mysql:8.0.20 "docker-entrypoint.s…" 41 seconds ago Up 40 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp mysql_db
MySQL 컨테이너에 접속해서 데이터베이스와 사용자를 생성합니다.
## MySQL 컨테이너로 접속
PS D:\docker> docker exec -it mysql_db bash
## root 계정으로 mysql 접속
root@557b909aba81:/# mysql -u root -p
Enter password: root <-- docker-compose.yml 파일에 넣은 값
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.20 MySQL Community Server - GPL
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
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.
## dev 사용자를 생성하고 모든 권한 부여
mysql> create user 'dev'@'%' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on *.* to 'dev'@'%';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
# dev 계정으로 mysql 접속
root@557b909aba81:/# mysql -u dev -p
Enter password: password <-- 계정 생성시 입력한 값
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.20 MySQL Community Server - GPL
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
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.
# msa_db 데이터베이스 생성
mysql> create database msa_db default character set utf8;
Query OK, 1 row affected, 1 warning (0.01 sec)
# 데이터베이스 생성 확인
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| msa_db |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.02 sec)
mysql> exit
Bye
root@557b909aba81:/# exit
exit
MySQL Workbench로 접속 여부를 확인합니다.
728x90
반응형
'컨테이너 > 도커' 카테고리의 다른 글
02 스웜 모드의 서비스 장애 복구 (0) | 2020.09.17 |
---|---|
01 스웜 모드 서비스 (0) | 2020.09.17 |
09 docker container network (0) | 2019.05.20 |
08 docker image 생성 (0) | 2019.05.20 |
07 docker-composer (0) | 2019.05.20 |
댓글