二、初识docker挂载 mysql挂载备份

首先下载一个mysql:docker pull mysql

运行mysql容器,需要做数据挂载(挂载就是将mysql中的文件,挂载到linux中,下次修改mysql配置文件,就不需要进入mysql,也可以备份mysql的数据):##安装启动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=自己设置的密码 --name mysql01 mysql

-d 后台启动
-p 端口映射,将3306映射到外部端口
-v 卷挂载,将mysql内部文件同步到linux的文件中,做到备份
-e 环境配置,这里配置的是mysql密码
--name 容器名称

挂载方式有具名挂载和匿名挂载
#查看所有volume(卷挂载)的情况 :docker volume ls
#匿名挂载:-v 容器内路径
docker run -d -P --name mysql01 -v /etc/mysql mysql(-P 随机映射端口)
#具名挂载:docker run -d -P --name mysql02 -v juming-mysql:/etc/mysql mysql(具名挂载名称:juming-mysql)
#通过 -v 卷名:容器内路径
#查看一下这个卷:docker volume inspect juming-mysql
在这里插入图片描述#所有的docker容器卷,在没有指定目录的情况下,都存储在 /var/lib/docker/volumes/xxx/_data

**如何确定是具名挂载还是匿名挂载,还是指定路径挂载!**
				
	-v 容器内路径		#匿名挂载
	-v 卷名:容器内路径		#具名挂载
	-v /宿主机路径:容器内路径		#指定路径挂载

拓展:

#通过 -v 容器内路径:ro	rw	改变读写权限
ro	readonly	#只读
rw	readwrite	#可读可写

#一旦设置了容器权限,容器对我们挂载出来的内容就有限定
docker run -d -P --name mysql02 -v juming-mysql:/etc/mysql:ro mysql
docker run -d -P --name mysql02 -v juming-mysql:/etc/mysql:rw mysql

#ro,只要看到ro就说明这个路径只能通过宿主机操作,容器内部是无法操作的!

在测试的时候发现,如果一个文件名,如juming-mysql挂载过一次,删除容器后,再使用这个名字时,会无法挂载上,原因是docker 里面的volumes缓存没有清除:
可以使用 docker --help 可以看到命令
在这里插入图片描述
再使用:docker system --help
在这里插入图片描述这个就是docker清理volumes缓存的选项,输入docker system prune 确定时输入y,即可删除 挂载缓存
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值