我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Docker数据卷怎么使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Docker数据卷怎么使用

本文小编为大家详细介绍“Docker数据卷怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Docker数据卷怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

一,数据卷的使用

有时候需要使用数据库,但是又希望它的数据能保存在本地,Docker中提供了数据卷可以供你方便的操作数据。数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:

数据卷可以在容器之间共享和重用

对数据卷的修改会立马生效

对数据卷的更新,不会影响镜像

数据卷默认会一直存在,即使容器被删除

*注意:数据卷的使用,类似于 Linux 下对目录或文件进行 mount,镜像中的被指定为挂载点的目录中的文件会隐藏掉,能显示看的是挂载的数据卷。

Docker数据卷怎么使用

添加一个数据卷:

# docker run -d -it --name busybox -v /data/ busybox

这会在容器内创建一个 /data 目录,并加载一个数据卷到容器的 /data 目录。

进入容器:

# docker exec -it busybox sh

查看目录映射:

# docker inspect -f {{.Volumes}} busybox  map[/data:/var/lib/docker/volumes/b98191464fb0b1a888507b1e5b324802012297342adfe5d6125bcbfd08b621a9/_data]可以看到将容器中的 /data 目录映射到了 /var/lib/docker/volumes/b98191464fb0b1a888507b1e5b324802012297342adfe5d6125bcbfd08b621a9/_data 这个目录下,所以数据在容器中的 /data 目录和此目录下是同步的。[root@sta2 data]# cd  /var/lib/docker/volumes/b98191464fb0b1a888507b1e5b324802012297342adfe5d6125bcbfd08b621a9/_data[root@sta2 _data]# touch b

在容器中 /data 目录下查看:

/data # lsa  bb 文件依然存在。

数据卷是被设计用来持久化数据的,它的生命周期独立于容器,Docker不会在容器被删除后自动删除数据卷,并且也不存在垃圾回收这样的机制来处理没有任何容器引用的数据卷。如果需要在删除容器的同时移除数据卷。可以在删除容器的时候使用 docker rm -v 这个命令。

[root@sta2 docker]# docker stop eec30d8d6fce[root@sta2 docker]# docker rm -v eec30d8d6fce

使用 -v 标记也可以指定挂载一个本地主机的目录到容器中去,-v 标记也可以从主机挂载单个文件到容器中

[root@sta2 docker]# docker run -it --name mybusybox -v /data:/data busybox sh

这种方法相当于在本机中指定了要映射的目录,将本地的数据卷 /data 目录加载到容器中的 /data 目录。

/ # cd  /data//data # lsa/data # touch c

然后在本机的 /data 目录查看 c 文件是否存在:

[root@sta2 data]# ls  a  c

Docker 挂载数据卷的默认权限是读写,用户也可以通过 :ro 指定为只读。

# docker run -it --name mybusybox -v /data:/data:ro busybox sh

二,数据卷容器

如果你有一些持续更新的数据需要在容器之间共享,最好创建数据卷容器。

[root@sta2 data]# docker run -d -v /data/ --name  dbdata busybox  #首先,创建一个名为 dbdata 的数据卷容器

然后,在其他容器中使用 –volumes-from 来挂载 dbdata 容器中的数据卷。

# docker run -d --volumes-from dbdata --name db1 nginx# docker run -d --volumes-from dbdata --name db2 nginx

也可以使用 –volumes-from 来挂载来自多个容器的多个数据卷:

# docker run -d --name db3 --volumes-from db1  --volumes-from db nginx

提示:使用 –volumes-from 参数所挂载数据卷的容器自己并不需要保持在运行状态。

备份数据卷

首先使用 –volumes-from 标记来创建一个加载 dbdata 容器卷的容器,并从主机挂载当前目录到容器的 /backup 目录。命令如下:

# docker run --volumes-from dbdata -v /data:/backup busybox tar cvf /backup/backup.tar.gz /data/

恢复

如果要恢复数据到一个容器,首先创建一个带有空数据卷的容器 dbdata2。

# docker run -v /dbdata --name dbdata2 ubuntu /bin/bash

然后创建另一个容器,挂载 dbdata2 容器卷中的数据卷,并使用 untar 解压备份文件到挂载的容器卷中。

# docker run --volumes-from dbdata2 -v /data:/backup busybox tar xvf /backup/backup.tar.gz

为了查看/验证恢复的数据,可以再启动一个容器挂载同样的容器卷来查看

# docker run --volumes-from dbdata2 busybox /bin/ls /dbdata

删除数据

如果删除了挂载的容器(db1 和 db2),数据卷并不会被自动删除。如果要删除一个数据卷,必须在删除最后一个还挂载着它的容器时使用 docker rm -v 命令来指定同时删除关联的容器。

读到这里,这篇“Docker数据卷怎么使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Docker数据卷怎么使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Docker数据卷怎么使用

本文小编为大家详细介绍“Docker数据卷怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Docker数据卷怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一,数据卷的使用有时候需要使用数据库,但是
2023-06-27

Docker容器数据卷的使用教程

数据卷容器是一个专门用来挂载数据卷的容器,该容器主要是供其他容器引用和使用,下面这篇文章主要给大家介绍了关于Docker容器数据卷使用的相关资料,需要的朋友可以参考下
2022-11-13

docker中容器数据卷volume有什么用

小编给大家分享一下docker中容器数据卷volume有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!docker 容器数据卷volume如果数据都在容器中
2023-06-22

删除docker中没有被使用的数据卷volume

发现docker占用宿主机的磁盘空间很大,这个时候如何来释放这些数据卷占用的空间呢,通过执行相关命令即可顺利解决,下面小编给大家介绍下删除docker中没有被使用的数据卷volume,感兴趣的朋友跟随小编一起看看吧
2023-01-06

怎么在docker中使用volume命令删除卷

本篇文章为大家展示了怎么在docker中使用volume命令删除卷,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。prune要使用此命令,客户端和守护程序API版本都必须至少为1.25。在客户端上使用
2023-06-14

Docker容器数据卷操作方法是什么

本篇内容介绍了“Docker容器数据卷操作方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!容器数据卷介绍什么是数据卷将运用与运行的环
2023-06-30

docker compose数据卷volumes挂载规则是什么

今天小编给大家分享一下docker compose数据卷volumes挂载规则是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一
2023-07-05

docker容器数据卷的读写规则是什么

这篇文章主要介绍“docker容器数据卷的读写规则是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“docker容器数据卷的读写规则是什么”文章能帮助大家解决问题。在docker创建容器,挂载目录
2023-07-05

docker-compose:数据卷volumes挂载规则说明

这篇文章主要介绍了docker-compose:数据卷volumes挂载规则说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-03-19

Docker数据卷挂载及宿主机目录挂载使用和区别

数据卷挂载和宿主机目录挂载是Docker容器数据持久化方式。数据卷与容器生命周期无关,可跨容器共享,并存储在主机文件系统或外部存储中。宿主机目录挂载与容器生命周期绑定,提供对宿主机文件系统的直接访问,但只能由一个容器挂载。选择时要考虑数据持久性、共享需求、访问权限和存储空间等因素。
Docker数据卷挂载及宿主机目录挂载使用和区别
2024-04-02

如何使用docker开启mysql的binlog日志解决数据卷问题

这篇文章主要为大家展示了“如何使用docker开启mysql的binlog日志解决数据卷问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用docker开启mysql的binlog日志解决
2023-06-29

怎么使用docker-compose部署mysql数据库

要使用docker-compose部署MySQL数据库,需要按照以下步骤操作:首先,确保你已经安装了Docker和docker-compose。如果没有,请先安装它们。创建一个新的文件夹,用于存放你的docker-compose.yml文件
怎么使用docker-compose部署mysql数据库
2024-04-09

Docker存储卷如何使用与管理

Docker存储卷是一种用于在容器内部进行数据持久化的技术。它允许将数据存储在主机上的一个目录,并将这个目录挂载到容器内部。这样,即使容器被删除,数据也不会丢失。要使用Docker存储卷,首先需要创建一个存储卷。可以使用以下命令来创建一个
Docker存储卷如何使用与管理
2024-05-07

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录