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

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

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

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

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

在docker创建容器,挂载目录的时候,可能会出现目录无法访问无法打开的问题(cannot open directory .: Permission denied)

只需要加一个 --privileged=true 参数即可,加上这个参数代表是以root用户权限进入容器的,不加就是以普通用户权限进入容器的

例如,test镜像创建一个容器t1

docker run -d -p 5555:5555 -v /etc/config:/tmp/config --privileged=true --name t1 test

正文

容器数据卷,也就是把容器内部目录挂载到宿主机目录(前言中说的挂载文件 -v ),独立于容器的生命周期之外,可以防止容器销毁而丢失文件

特点:

可以在多个容器之间共享或重用

数据卷中的更改可以实时生效

数据卷中的更改不会包含在镜像的更新中

数据卷的生命周期一直持续到没有容器使用

例如,挂载本机/tmp/data目录到容器中的/tmp/docker_data目录(如果本机没有/tmp/data目录,docker会自行创建)

docker run -it --privileged=true -v /tmp/data:/tmp/docker_data --name t1 test /bin/bash

-it进入容器,在/tmp/docker_data目录下创建一个test.txt文件,退出容器到宿主机的挂载目录下,可以看到已经有一个test.txt文件了,反之在宿主机目录下更改或创建文件,容器内目录也同步生效

实现了容器内数据持久化到宿主机,并且双方修改实时生效

如果在容器停止运行的情况下,修改宿主机挂载目录内容,容器启动后,同样会读取最新数据

如果忘记容器挂载到宿主机哪个目录了,可以使用docker inspect命令查看容器信息

docker inspect 容器id

数据卷读写规则

像上面那个案例,默认是可读可写的,也就相当于在后面加了一个rw,即:

docker run -it --privileged=true -v /tmp/data:/tmp/docker_data:rw --name t1 test /bin/bash

如果需要容器内只读,可以改成ro,即

docker run -it --privileged=true -v /tmp/data:/tmp/docker_data:ro --name t1 test /bin/bash

此时在宿主机修改的内容可以同步到容器内,但是容器内是只读的,如果继续在容器内操作,会提示Read-only file system

数据卷的继承和共享

如果想要新创建一个容器t2,也使用t1的数据卷,只需要使用--volumes-from命令继承t1即可

docker run -it --privileged=true --volumes-from t1 --name t2 test /bin/bash

此时t2也就跟t1一样挂载主机目录了,t2里面也可以看到/tmp/docker_data目录下的内容,并实时更新

如果t1停了,对t2是没有影响的,因为t2是继承的t1的挂载规则

关于“docker容器数据卷的读写规则是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

免责声明:

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

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

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

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

下载Word文档

猜你喜欢

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

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

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

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

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

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

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

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

c语言数据转换的规则是什么

C语言中,数据转换的规则如下:1. 自动类型转换:当表达式中的操作数类型不同时,会发生自动类型转换。自动类型转换按照以下规则进行:- 如果两个操作数中有一个是`float`类型,则另一个操作数会被转换为`float`类型。- 如果两个操作数
2023-10-10

数组分配给与容量相关的切片的规则是什么?

目前编程网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《数组分配给与容量相关的切片的规则是什么?》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并
数组分配给与容量相关的切片的规则是什么?
2024-04-05

C语言中不同类型的数据转换规则是什么

本篇内容介绍了“C语言中不同类型的数据转换规则是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!不同类型数据间的混合运算与类型转换1.自动
2023-06-20

解析器解析内置函数名称时使用的默认规则是什么?

实际上,当解析器遇到作为内置函数名称的单词时,它必须确定该名称是表示函数调用还是对标识符的非表达式引用例如表名或列名。考虑以下查询 -1. Select sum(salary) from employee;2. Create table
2023-10-22

面试连环炮系列(二十八):数据库读写分离的目的是什么?

数据库读写分离的目的是什么;读写分离会带来什么问题?如何解决;MySQL主从复制的原理清楚吗;读写分离具体怎么实施呢 1. 数据库读写分离的目的是什么?通常业务系统是读多写少,读写分离是将对数据库的读写操作分散到不同的节点上,能够小幅提升写性能,大幅提升
面试连环炮系列(二十八):数据库读写分离的目的是什么?
2017-02-20

如何使用PHP连接和操作Redis数据库?(PHP连接Redis并进行数据读写的方式是什么?)

本文介绍了如何使用PHP连接和操作Redis数据库。它涵盖了连接、读写字符串、哈希、列表、集合和有序集合等基本操作。还讨论了事务和管道等高级功能。本文提供了详细的代码示例,展示了如何使用PredisClient类与Redis数据库进行交互。通过将PHP与Redis相结合,开发人员可以轻松地创建具有高性能和可扩展性的实际应用程序。
如何使用PHP连接和操作Redis数据库?(PHP连接Redis并进行数据读写的方式是什么?)
2024-04-02

Netty分布式解码器读取数据不完整的逻辑是什么

这篇文章将为大家详细讲解有关Netty分布式解码器读取数据不完整的逻辑是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。概述如果Server在读取客户端的数据的时候, 如果一次读取不完整, 就触发cha
2023-06-29

编程热搜

  • 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动态编译

目录