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 ,可以轻松实现多个容器的数据共享。

本质上也是挂载到宿主机的文件夹下,删去数据卷容器该文件依旧存在。

posted @ 2023-03-23 18:09  瓜瓜没有瓜子  阅读(21)  评论(0)    收藏  举报