首页 > 其他分享 >Docker学习笔记九:Docker数据卷知识【重要】

Docker学习笔记九:Docker数据卷知识【重要】

时间:2022-12-07 23:23:21浏览次数:39  
标签:容器 宿主机 -- 知识 笔记 挂载 Docker 数据 目录

介绍

 目的

  • 数据卷(Data Volumes)是宿主机中的一个目录或文件,数据卷的设计目的就是数据的持久化,完全独立于容器的生存周期。
  • 一个数据卷可以被多个容器同时挂载,一个容器也可以被挂载多个数据卷(即:可实现多个容器数据共享)。
  • 当容器目录和数据卷目录绑定后,修改之后会立即同步。
  • Docker不会在容器被删除时删除其挂载的数据卷。(注:持久化)

 

特点

  • 数据卷可以在容器之间共享和重用,本地与容器间传递数据更高效。

  • 数据卷的修改会立马有效,在容器内部与本地目录均可对数据卷进行修改。

  • 数据卷的更新,不会影响镜像,对数据与应用进行了解耦操作。

  • 数据卷会一直存在,即使是没有容器使用。

 

作用

说明

  • 在docker中,容器的数据读写默认发生在容器的存储层,当容器被删除时其上的数据将会丢失。
  • 要想实现数据的持久化,需要将容器与宿主机进行数据卷的挂载。
  • 目前docker提供了三种方式将数据从宿主机挂载到容器中:
    • Volume:普通数据卷,映射到/var/lib/docekr/volumes目录下。
    • Bind Mounts:常用方式,绑定数据卷,映射到宿主机指定路径下
    • tmpfs mounts:临时卷,只存在于宿主机内存中

 

实现

  • 使用“docker run”创建容器时,添加参数“-v 宿主机目录:容器目录:模式”来指定容器与宿主机的目录挂载
    • -v 宿主机目录:容器目录:模式:目录如果没有,会自动进行创建
    • mode:默认是RW可不写,RW:可读可写,RO:容器内只读
    • --privileged=true:目录映射时避免出现权限问题(ps:解决docker挂载主机目录访问出现cannot open directory .: Permission denied)
    • 示例:docker run -d --name=jenkins --privileged=true -v /usr/local/apache-maven-3.8.3:/usr/local/apache-maven-3.8.3:rw jenkins:latest

 

卷的继承和共享

说明

  • 容器卷的继承,类似Java类的继承。
  • 容器卷继承指的是:子容器继承父容器的容器卷的挂载方式。
  • 容器卷继承之后,子容器对挂载的数据卷操作不受父类影响,如:父容器停掉之后,子容器可以继续对挂载的目录进行操作。
  • 容器卷继承之后,实现了多个容器挂载同一个目录,实现了容器之间数据的共享。
 

实现

  • 使用“docker run”创建容器时,添加参数“--volumes-from 父类容器名/父类容器ID”来指定新建的容器继承的容器卷信息

    • --volumes-from 父类容器名/父类容器ID:新建容器会继承父容器的容器卷挂载的方式
    • 示例:docker run -d  --privileged=true --volumes-from jenkins1  --name jenkins2 jenkins:latest 

 

标签:容器,宿主机,--,知识,笔记,挂载,Docker,数据,目录
From: https://www.cnblogs.com/jason2018524/p/16964797.html

相关文章

  • C++入门级基础知识汇总
    知识来源:https://www.imooc.com/learn/1304https://www.runoob.com/cplusplus/cpp-tutorial.html 编程第一步导入头文件:#include<stdio.h>std=standard......
  • Vue2(笔记25) - 脚手架 - render函数
    render 函数从错误提示开始打开项目入口文件:main.jsimportVuefrom'vue'importAppfrom'./App.vue'Vue.config.productionTip=falsenewVue({render:h=>h(App),......
  • esp-now笔记
    ESPNOW简介ESP-NOW乐鑫官方手册官网介绍ESP-NOW是由乐鑫开发的另一款协议,可以使多个设备在没有或不使用Wi-Fi的情况下进行通信。这种协议类似常见于无线鼠标中的......
  • MIT6.828学习笔记3(Lab3)
    Lab3:UserEnvironments在这个lab中我们需要创建一个用户环境(UNIX中的进程,它们的接口和实现不同),加载一个程序并运行,并使内核能够处理一些常用的中断请求。PartA:User......
  • 快速安装docker
    本方法适用于红帽系的linux#安装yum源yum-config-manager--add-repohttps://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repoyummakecachefast#安装......
  • docker-compose的命令补全
    找文件docker-compost官方github地址https://github.com/docker/compose切换master分支点击复制在/etc/bash_completion.d/下新建docker-compose文件,保存退出后......
  • ubuntu安装docker
    sudoaptupdatesudoaptinstallapt-transport-httpsca-certificatescurlsoftware-properties-commoncurl-fsSLhttps://download.docker.com/linux/ubuntu/gpg......
  • 面试知识点
    GC机制python的垃圾回收,其实高级的语言都有自己的垃圾回收机制简称GC,python当中主要通过三种方式解决垃圾回收的方式,引用计数、标记清除、分代回收1引用计数:如果有......
  • dockerfile 缩减镜像
    title:Dockerfile缩减镜像技巧categories:-dockersummary:Dockerfile缩减镜像技巧Dockerfile缩减镜像技巧构建上下文执行dockerbuild命令时,当前的工作......
  • docker部署项目
    (文章目录)<hrstyle="border:solid;width:100px;height:1px;"color=#000000size=1">前言<fontcolor=#999AAA>为了提高服务器的利用率,且便于项目部署及发布,服务......