码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Docker 基础教程】容器数据持久化(一)------ 数据持久化概述


    文章目录

    • 🍓什么是容器卷
    • 🍓数据持久化
    • 🍓为什么要数据持久化
    • 🍓添加挂载权限
      • 🍇读写(默认)
      • 🍇只读
    • 🍓容器卷的继承
    • 🍓挂载容器常见的问题 cannot open directory .: Permission denied


    在这里插入图片描述


    🍓什么是容器卷

    卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性:卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。

    🍓数据持久化

    建立对应的映射关系,后台运行
    docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名
    有点类似我们Redis里面的rdb和aof文件
    将docker容器内的数据保存进宿主机的磁盘中
    请添加图片描述
    查看是否挂载成功
    docker inspect 容器ID
    请添加图片描述
    查看容器与宿主机是否有数据共享

    • 1 docker修改,主机同步获得
    • 2 主机修改,docker同步获得
    • 3 docker容器stop,主机修改,docker容器重启看数据是否同步。

    请添加图片描述
    请添加图片描述

    🍓为什么要数据持久化

    将运用与运行的环境打包镜像,run后形成容器实例运行 ,但是我们对数据的要求希望是持久化的
    Docker容器产生的数据,如果不备份,那么当容器实例删除后,容器内的数据自然也就没有了。
    为了能保存数据在docker中我们使用卷。
    特点:

    • 1:数据卷可在容器之间共享或重用数据
    • 2:卷中的更改可以直接实时生效
    • 3:数据卷中的更改不会包含在镜像的更新中
    • 4:数据卷的生命周期一直持续到没有容器使用它为止

    🍓添加挂载权限

    🍇读写(默认)

    docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:rw镜像名

    🍇只读

    docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro镜像名

    此时如果宿主机写入内容,可以同步给容器内,容器可以读取到。
    请添加图片描述

    🍓容器卷的继承

    docker run -it --privileged=true --volumes-from父类–name u2 ubuntu
    请添加图片描述
    权限仅仅是在指定的文件夹有效,不在指定文件夹不生效,容器可以起别名。

    🍓挂载容器常见的问题 cannot open directory .: Permission denied

    Docker挂载主机目录访问如果出现cannot open directory .: Permission denied
    解决办法:在挂载目录后多加一个--privileged=true参数即可如果是CentOS7安全模块会比之前系统版本加强,不安全的会先禁止,所以目录挂载的情况被默认为不安全的行为,在SELinux里面挂载目录被禁止掉了额,如果要开启,我们一般使用--privileged=true命令,扩大容器的权限解决挂载目录没有权限的问题,也即使用该参数,container内的root拥有真正的root权限,否则,container内的root只是外部的一个普通用户权限。
  • 相关阅读:
    Pai到用时方恨少
    Linux——文件编程:打开及创建、写入、读取
    vscode 搜索界面的files to include files to exclude 是什么功能?
    XCode15与iOS17/17.1 真机测试问题处理
    搭建VUE前端项目流程——Node.js 、Yarn、npm、Vue、Vite、Webpack
    【Linux API 揭秘】container_of函数详解
    【前端性能优化】 --- 一次总结明白
    为人物化身持有者打造的 Alpha 第 3 季特别活动
    Nacos客户端启动出现9848端口错误分析(非版本升级问题)
    java经典面试题并发篇(持续更新)
  • 原文地址:https://blog.csdn.net/apple_51931783/article/details/126190465
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号