2026.2.2 docker数据卷管理

1,创建数据卷

docker volume create

默认存储位置为:/var/lib/docker/volumes

2,查看数据卷详细信息

docker volume inspect

3,列出已有数据卷

docker volume ls

4,删除指定数据卷

docker volume prune

清理没有被容器使用的数据卷

docker volume rm

删除数据卷

5,绑定数据卷

5.1)volume:普通数据卷

复制代码
docker run -itd --name ymqsubuntu --mount type=volume,source=ymqstest,target=/ymqstest ubuntu bash

在容器中的挂载目录中创建文件,会自动同步到本地的/var/lib/docker/volums/ymqstest/_data中

5.2)bind:绑定数据卷

复制代码
docker run -itd --name myubuntu --mount type=bind,source=/myubuntu,target=/myubunut ubuntu bash

5.3)tmpfs:临时数据卷 #更换为-v

在本地的挂载目录中删除文件,会影响容器的内容,在容器的同名挂载目录中删除文件,也会影响本地挂载目录的内容,也就是说本案例中的aaa目录,是容器与本地共享的目录,任何一方对目录进行操作都会受到影响。

6,数据卷容器

--volumes-from

首先在本地建立一个yourubunt的挂载目录,然后输入

复制代码
docker run -itd -v /yourubunt:/yourubunt --name yourubuntu ubuntu bash

将其挂载到数据卷容器yourubuntu。

然后,创建db1与db2两个容器,但这两个容器的挂载点事数据卷容器yourubuntu。

创建容器db1与db2容器并挂载的代码如下

复制代码
docker run -itd --volumes-from yourubuntu --name db1 ubuntu bash
docker run -itd --volumes-from yourubuntu --name db2 ubuntu bash

进入容器yourubuntu,在yourubunt目录中创建1-10.txt文件,退出yourubuntu容器,再分别进入db1和db2中查看其根目录下的/yourubunt目录,可以看到同样有1-10的txt文件。

7,利用数据卷容器迁移备份

在本地找到需要备份的挂载目录,输入

复制代码
tar zcvf 压缩到文件名.tar.gz 压缩文件名

将其备份为压缩包

docker数据卷,即使容器在运行中出现故障,用户也不必担心数据发生丢失,只需要快速创建容器,数据可以在容器之间共享使用、重复使用。

在本地创建的数据容器能读取,在容器里面创建的数据本地也可以读取

端口映射与容器互联

端口映射

端口范围0-6535

-p

可以指定映射的端口,在一个端口上只能绑定一个容器

-P

docker会随机映射到一个端口

相关推荐
光电笑映2 分钟前
进程间通信:深入 System V IPC:共享内存、消息队列与信号量
linux·运维·服务器·c++
向日葵.19 分钟前
linux & qnx & git 命令 2
linux·运维·git
IT界的老黄牛19 分钟前
MongoDB 主从切换排查实战:从 docker ps 到 jq,一套 SOP 定位死因
数据库·mongodb·docker
丑过三八线19 分钟前
Systemd Cgroup 驱动详解
linux·ubuntu·容器
睡不醒男孩03082319 分钟前
第四篇:数据库国产化与信创替代的守护者:基于CLup的异构数据库一站式运维平台构建
运维·数据库·金融·clup·中启乘数
Jonm19 分钟前
exsi系统使用storcli重组raid阵列(不停机)
运维·esxi·raid
极客先躯20 分钟前
高级java每日一道面试题-2026年02月04日-实战篇[Docker]-如何在容器之间共享数据?
java·运维·网络·docker·容器·自动化·高级面试题
程序猿小野20 分钟前
在阿里云服务器上安装Docker部署后台项目
阿里云·docker·云计算
“码”力全开33 分钟前
打破芯片与协议壁垒:基于 Docker+边缘计算 的企业级 AI 视频管理平台架构解析(附 GB28181/RTSP 统一接入与源码交付方案)
人工智能·docker·边缘计算