连个文件系统有块区域Area,我们要做的是把两个Area做文件映射

mysql docker 指令 docker mysql volume_操作系统


jesse腾讯云上有个linux的环境,版本比较老了

mysql docker 指令 docker mysql volume_操作系统_02



简书的地址:

先把旧版的移除掉

mysql docker 指令 docker mysql volume_运维_03

yum -y remove docker docker-common container-selinux

设置新版本的docker的地址

yum-config-manager \
    --add-repo \
    https://docs.docker.com/v1.13/engine/installation/linux/repo_files/centos/docker.repo

mysql docker 指令 docker mysql volume_mysql docker 指令_04


mysql docker 指令 docker mysql volume_操作系统_05



mysql docker 指令 docker mysql volume_数据库_06


安装完成后启动docker

mysql docker 指令 docker mysql volume_操作系统_07


启动后再看下docker的版本

mysql docker 指令 docker mysql volume_数据库_08


石墨文档的地址

课程中使用的 docker 命令文档:

mount是用于集群的


这里先来实验Volume这种方式

这里的--volume可以缩写成-v




在腾讯云上新建dokcer/mysql/config的文件夹



然后在mysqk下面再去新建db文件夹。

config用来防止mysql的配置文件的


在config下新建my.cnf文件




开始调用



进入etc/docker文件夹


编辑daemon.json这个文件

vim daemon.json:编辑这个文件。但是没有这个文件。

我们用vi 新建daemon.json这个文件


把阿里云上的镜像拷贝过去



打开这个文件看一下

cate daemon.json


systemctl restart docker:重启docker


然后再来执行这个语句,他会去mysql的官方去下载mysql的镜像



这里报错了



删除这个mysql01



这里是有config和data这两个文件夹。

需要在mysql的目录下有个data文件夹


再次执行还是报错了



问题是my.cnf居然是一个文件夹


移除掉这个文件夹



在config下创建my.cnf这个文件

vi my.cng




再次查看一下,确实是一个文件了




再次执行。先把之前的删掉,再去执行


docker logs mysql01:查看执行的日志


cokder ps查看到mysql01已经启动了


docker logs mysql01:找到root的默认密码



docker exec -it mysql01 bash:exec执行base 进入到mysql01


使用root登陆,然后输入密码



使用这个命令设置mysql的密码






看到root还是只能在localhost上登陆


再来看下字符集的问题,依然没有utf-8



退出这个容器:exit


进入docker下的mysql文件夹 下面已经有很多mysql的文件在这里了


进入config文件夹下,这里有我们的my.cnf这个文件


vim my.cnf这个文件



加入字符集的配置


docker restart mysql01这个容器


再次进去这个mysql容器然后root登陆,


再次查看我们的字符集。已经生效了


exit:先退出这个容器

dcoker stop mysql01:然后停止这个容器


docker rm mysql01:删除这个mysql01的容器



docker ps -a没有任何容器是在运行的


我们还可以使用这个命令,把原来的配置文件和数据都加载过来



执行上面那段命令后,再用docker ps 查看容器


还在启动,启动我们看下字符集是否还是原来我们设置的那样



进入mysql01这个容器


root登陆进去。面是password123

看到字符集还是之前我们设置的