狂神说-Docker基础-学习笔记-07 容器数据卷

视频地址:https://www.bilibili.com/video/BV1og4y1q7M4?p=21

什么是容器数据卷

运行时数据都在容器中,如果容器被删除,那么数据将丢失,为了解决数据保存和复用的问题,出现了容器的数据卷,即使,容器被删除数据也能得到保存,不同容器间也可以共享数据。

其实就是实现了容器数据到本地数据的同步,这就是卷数据,这就是目录的挂载,将容器内的目录挂载到宿主机上面

使用数据卷

方式一:直接使用命令来挂载:docker run -it -v 主机目录:容器目录

具体操作
C:\Users\z>docker run -it --name centosV01 -v D:\dockerVMdata\centosHome\test:/home/test centos /bin/bash
[root@9c3b5c17dfb7 /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@9c3b5c17dfb7 /]# cd home
[root@9c3b5c17dfb7 home]# ls
test
[root@9c3b5c17dfb7 home]# cd test
[root@9c3b5c17dfb7 test]# cd ..
[root@9c3b5c17dfb7 home]# cd ..
[root@9c3b5c17dfb7 /]# cd usr
[root@9c3b5c17dfb7 usr]# ls
bin games include lib lib64 libexec local sbin share src tmp
[root@9c3b5c17dfb7 usr]# cd ..
[root@9c3b5c17dfb7 /]# cp -r usr/* home/test cp: cannot create directory 'home/test/share/terminfo/a': File exists
cp: cannot create directory 'home/test/share/terminfo/e': File exists ^C
[root@9c3b5c17dfb7 /]# cd home/test
[root@9c3b5c17dfb7 test]# ls -a
. .. bin games include lib lib64 libexec local sbin share
[root@9c3b5c17dfb7 test]# ls
bin games include lib lib64 libexec local sbin share
[root@9c3b5c17dfb7 test]#
C:\Users\z>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9c3b5c17dfb7 centos "/bin/bash" 7 minutes ago Up 7 minutes centosV01 C:\Users\z>docker inspect 9c3b5c17dfb7
[
{
"Id": "9c3b5c17dfb754d5e20834e89fd6ae89d17ba65b15bcd7f6966e72435fb71f66",
"Created": "2021-11-20T16:31:04.5139086Z",
"Path": "/bin/bash",
"Args": [],
"State": { #·············# },
"Mounts": [
{
"Type": "bind",
"Source": "D:\\dockerVMdata\\centosHome\\test",
"Destination": "/home/test",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
"Config": { #·············# }
}
]

查看本地的test目录:

可以看到文件是同步过来了的

那么是否能将主机的数据同步到容器呢?

新建一个文件夹,

我们到 容器中查看

新建文件夹在centos中解码成为了代码,为了更直观体现效果又在宿主机数据卷中添加了HelloWorld文件夹

结果如下

到此 无论是容器内部数据同步到外部还是外部数据同步到内部,都是可以实现的。

这一操作的意义就是可以支持通过docker来运行一些数据库的环境而不用安装在物理机上,减轻

配置环境的复杂度和物理机的运行负载

特性:

容器数据可以同步到宿主机

宿主机数据可以同步到容器

停止容器,在宿主机操作数据,再次开启容器时,操作的结果也能同步

所以,无论是容器停止还是删除数据都不会丢失,还可以通过容器来操作本地数据也可反之

狂神说-Docker基础-学习笔记-07 容器数据卷的更多相关文章

  1. Docker学习笔记-03 容器数据卷

    1.宿主 vs容器直接映射数据容器卷 docker run -it  --privileged=true  -v  /宿主机绝对路径目录 :/ 容器内目录   镜像名 eg:  docker run  ...

  2. Docker小白到实战之容器数据卷,整理的明明白白

    前言 上一篇把常用命令演示了一遍,其中也提到容器的隔离性,默认情况下,容器内应用产生的数据都是由容器本身独有,如果容器被删除,对应的数据文件就会跟着消失.从隔离性的角度来看,数据就应该和容器共存亡:但 ...

  3. Docker系列(16)- 容器数据卷

    什么是容器数据卷 docker的理念回顾 将应用和环境打包成一个镜像 数据?如果数据都在容器中,那么我们容器删除,数据就会丢失!新增一个需求:数据可以持久化 MySQL,容器删了等于删库跑路!新增一个 ...

  4. [Docker] docker 基础学习笔记3(共6篇)

    首先我们安装好了ssh server之后, 我们需要将这个容器commit,然后启动这个被commit的image. 启动方式: docker run -d -p 2222:22 /usr/sbin/ ...

  5. [Docker] docker 基础学习笔记2(共6篇)

    febootstrap 是一个自制image的一个第三方的工具,好像他们现在都要用这个.   安装还是挺方便的. yum -y install febootstrap   febootstrap -i ...

  6. [Docker] docker 基础学习笔记1(共6篇)

    巩固一下yum: yum本身是centos自带的软件,可以删掉然后再重新安装. yum本身可以配置yum源,网络的,本地的都可以.之后安装docker需要配置一个扩展源.   从163的网址里边下载好 ...

  7. [Docker] docker 基础学习笔记6(共6篇)

    这个迁移指的是docker整个系统的迁移,而不是说images存储位置迁移 docker info 查看docker的各项配置   首先做文件的迁移 使用rsync软件将docker的文件夹整体迁移到 ...

  8. [Docker] docker 基础学习笔记5(共6篇)

    docker 配置文件的位置: centos : /etc/sysconfig/docker ubuntu: /etc/default/docker   现在比如我自己电脑上已经装好了docker,但 ...

  9. [Docker] docker 基础学习笔记4(共6篇)

    离线安装nginx   apache 如何启动war包   linux 离线升级内核   nginx和Apache的使用   nginx 的负载均衡配置 是如此的简单,比weblogic的要简单100 ...

  10. Docker(Linux)学习笔记以及Redis/MariaDB的容器使用后台全自动启动

    1:Docker安装,由于Docker后续pull镜像的服务器默认是在国外的,速度实在是太慢,这里使用阿里云的镜像 阿里云的Docker CE 镜像源站进行安装 docker ===========U ...

随机推荐

  1. [CEOI2011] Matching 题解

    前言 题目链接:洛谷. 在上一题之后,模拟赛又放了一道 KMP 重定义相等的问题,但是寄了,故再记之. 题意简述 现在给出 \(1 \sim n\) 的排列 \(p\) 和序列 \(h_1, h_2, ...

  2. [COCI2015-2016#1] UZASTOPNI 题解

    前言 题目链接:洛谷. 题意简述 一棵有根树,节点数 \(n \leq 10^5\),每个点有权值 \(v_i \leq 2000\),现在选出一些点,满足: 一个点的父亲点若未被选择则其不能被选择. ...

  3. .NET 7 + Vue 权限管理系统 小白快速上手

    前言 今天给大家推荐一个超实用的开源项目<.NET 7 + Vue 权限管理系统 小白快速上手>,DncZeus的愿景就是做一个.NET 领域小白也能上手的简易.通用的后台权限管理模板系统 ...

  4. JAVA IO流-小白版

    I/O流原理 I/O 是 Input / Output 的缩写,I / O 流技术是非常实用的技术,用于处理数据传输.如读/写文件,网络通讯等: Java中对于数据的输入/输出操作以"流(s ...

  5. 【Java】之获取CSV文件数据以及获取Excel文件数据

    一.获取CSV文件数据 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Sheet; impor ...

  6. 微软azure devops 如何搭建代理池服务器

    如果你的pipeline使用微软azure的服务器进行编译失败,提示你不能进行并行任务的话,可以自己拿一台服务器来搭建编译服务器. 目标是让你的 Organization settings -> ...

  7. 【YashanDB知识库】statement级别的触发器在jdbc接口调用executeBatch时被多次触发

    问题现象 某客户使用jdbc接口向yashandb的表A插入数据. 表A上有一个语句级触发器,其内容为在触发时执行alter sequence操作:另外还有一个insert时的行级触发器,其内容为将每 ...

  8. 痞子衡嵌入式:在MDK开发环境下自定义安装与切换不同编译器版本的方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在MDK开发环境下自定义安装与切换不同编译器版本的方法. Keil MDK 想必是嵌入式开发者最熟悉的工具之一了,自 2005 年 Ar ...

  9. 【转】git常用操作

    创建版本库 git clone url 克隆远程版本库 git init 初始化本地版本库 配置 git config --global user.name 'chengcp' 配置global级别的 ...

  10. 合合信息AI图像内容安全新技术亮相WAIC2023,防范“生成式造假”

    开年以来,多个图像生成软件在全球迅速蹿红,其作画逼真程度"技惊四座".AI一路"狂飙",让生成.篡改等多形式的图片伪造的门槛变得更低,由此引发的隐患也令人忧虑. ...