什么是容器数据卷
容器数据卷是可以使数据持久化的一个技术,是将容器内部的数据存储到服务器的文件里,并且可以操作服务器上的文件,使得容器里的数据发生变化的。
如果删除容器,数据也可以持久化,举例:MySQL的容器删除了,但是数据在本地
容器之间可以有一个数据共享的技术,Docker容器中产生的数据,同步到本地。
1、启动CentOS并且指定-v 目录
docker run -it -v /home/ceshi:/home centos
docker inspect 8cb966e186e0 // 8cb966e186e0 是容器id
已经成功将容器内部的文件同步到外部系统中
之后系统的数据操作都会在这个文件里生成,例如
反向操作:停止容器后,再到服务器上新增test.java文件内容,启动容器,查看test.java文件内容,也是会同步的
Mysql数据同步
1、下载mysql容器
docker pull mysql:5.7
2、运行容器,做数据挂载
官方启动文档:docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag // 运行mysql时需要输入密码 -e 就是配置环境 MYSQL_ROOT_PASSWORD 就是配置初始密码
// 启动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
3、使用本地可视化navicat测试数据
-d // 后台运行
-p // 端口映射
-v // 挂载运行,挂载多个目录需要输入多个-v
--name // 给容器起个名字
具名挂载和匿名挂载
匿名挂载
docker run -d -P --name nginx03 -v /ect/nginx nginx
docker volume ls // 查看 volume 的具体情况
具名挂载
docker run -d -P --name ngi