连个文件系统有块区域Area,我们要做的是把两个Area做文件映射
jesse腾讯云上有个linux的环境,版本比较老了
简书的地址:
https://www.jianshu.com/p/b3bf647a726e
先把旧版的移除掉
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
安装完成后启动docker
启动后再看下docker的版本
石墨文档的地址
课程中使用的 docker 命令文档:
https://shimo.im/docs/anrlYMFEYloN52c8/
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
看到字符集还是之前我们设置的
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
以上是关于35.Docker安装Mysql挂载Host Volume的主要内容,如果未能解决你的问题,请参考以下文章