容器数据卷+MYSQL实战

什么是容器数据卷?

让我们回忆一下docker理念:

就是将应用和环境打包成一个镜像

数据? 如果数据都在容器中,那么我们删除容器,数据就会丢失  !需求:数据持久化就完美了

对于MYSQL,容器删除了,数据就没了        需求:MYSQL数据可以存储在本机就完美了

容器之间可以有一个数据共享的技术,docker容器中产生的数据,同步到本地

这就是卷技术  就是目录的挂载,将我们的容器内的目录,挂载到linux上面

为什么要用卷技术:就是为了容器持久化和数据同步,同时容器之间也可以数据共享

1.运行容器 

-v就是挂载,把主机上的home下的ceshi目录挂载到容器中的home目录中(实现同步)

以后我们只需要修改主机内的东西就行了,就能实现同步,不需要在进入容器,很方便

2.因为第一个终端在容器中,另开个终端查看容器详细信息  docker inspect 容器id  

容器数据卷+MYSQL实战_第1张图片

3.查看挂载情况,容器内home目录与主机home下的ceshi目录做了绑定(同步的意思)

容器数据卷+MYSQL实战_第2张图片

4.测试是不是挂载成功,能不能同步(是容器home目录和主机home下的ceshi目录同步)

在容器创建一个test.txt

进入ceshi目录查看,发现同步过来了

再来测试,当我们把centos容器停止掉exit,在主机添加东西,看看容器内会不会同步

在主机test.txt中添加了hello world,看看容器在退出后能不能同步

找到历史容器docker ps -a

再次开启容器    docker start 容器id

进入正在运行的容器 docker attach 容器id

查看是否同步,发现同步过来了  (切记一定要切换到home目录,因为你的容器home目录才是和主机ceshi目录同步的)

到此说明同步没问题

实战MYSQL

查找mysql镜像   docker search mysql

容器数据卷+MYSQL实战_第3张图片

下载mysql5.7版本 docker pull mysql:5.7

容器数据卷+MYSQL实战_第4张图片

查看镜像是否下载成功  docker images

容器数据卷+MYSQL实战_第5张图片

运行容器,并数据挂载,安装启动mysql要配置密码,要切记

docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

-d 是后台运行   -p 是端口映射   -v是挂载  -e是环境配置  --name 是给容器取个新名字

启动成功之后,我们在本地使用sqlyog来测试下

用sqlyog连接到服务器3310    3310和容器3306映射,这个时候我们就可以连接上了

在本地测试,创建一个数据库,查看一下我们的路径是否ok

容器数据卷+MYSQL实战_第6张图片

你可能感兴趣的:(mysql,数据库)