Docker中MySql容器的数据挂载

1.查看是否有数据卷

docker inspect mysql

 说明:Name的值是随机生成的不是命令的。因此没有数据卷。

2. 目录挂载

说明:本地目录不允许简写;在执行docker runi命令时,使用-v本地目录:容器内目录可以完成本地目录挂载。

2.1创建对应的文件夹

说明:创建mysql文件夹;里面创建conf,data,init文件夹

2.1.1conf目录

说明: 创建了hm.cnf文件。内容如下

[client]
default_character_set=utf8mb4
[mysql]
default_character_set=utf8mb4
[mysqld]
character_set_server=utf8mb4
collation_server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

2.1.2init目录

说明:放置mysql脚本

 

2.2创建mysql容器

 docker run -d
--name mysql
-p 3306:3306
-e TZ=Asia/Shanghai
-e MYSQL_ROOT_PASSWORD=123
-v /root/mysql/data:/var/lib/mysql
-v /root/mysql/init:/docker-entrypoint-initdb.d
-v /root/mysql/conf:/etc/mysql/conf.d
mysql

2.3启动

2.3.1判断是否启动

docker ps

 说明:很明显没有启动。

2.3.2启动 

docker start mysql

3.测试