Docker学习笔记-容器数据卷
容器数据卷
什么是容器数据卷
若将数据存储在容器中,则一旦容器删除,其中的数据就会丢失。
容器数据卷 存在的意义就是将容器中的数据挂载到 宿主机 上,可以实现 容器间的数据共享。
本质上就是一个 硬链接 。
使用数据卷
直接使用命令挂载:
-v
# 创建容器并挂载
docker run -it -v 主机目录:容器类目录 镜像名 bash
# 指定读写权限
# ro readonly,只能在宿主机操作
# rw readwrite,默认,宿主机和容器内均可操作
docker run -it -v 宿主机目录:容器类目录:ro 镜像名 bash
# 查看配置信息
docker inspect 容器id
实战:MySQL挂载
docker run -d -p 3310:3306 -v /e/Mysql/conf:/etc/mysql/conf -v /e/Mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql_01 mysql:latest
容器停止或删除,数据也会在宿主机上而不会消失。
具名和匿名挂载
# 匿名挂载 -v 容器内路径(而不写宿主机路径或名字)匿名挂载的结果是,地址都变成了原生的长得很像乱码的地址
# 具名挂载 -v 容器内路径:名字使用
docker volume inspect [name]可以看到容器的地址不指定地址时,目录默认在
docker/volumes/xxxx/_data
初识 Dockerfile
Dockerfile是构建Docker镜像的构建文件、命令脚本
# dockerfile示例
FROM centos
VOLUME ["volume01", "volume02"]
CMD echo "....end...."
CMD /bin/bash
生成镜像
docker build -f dockerfilename -t 镜像名 .
数据卷容器
使用
--volume-from 数据卷容器名/id,可以轻松实现多个容器的数据共享。本质上也是挂载到宿主机的文件夹下,删去数据卷容器该文件依旧存在。

浙公网安备 33010602011771号