狂神说-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. [学习笔记] 斜率优化DP - DP

    这个真的好容易啊 --wzw 斜率优化dP 例题 [SDOI2012] 任务安排 毒瘤题,让我惨淡经营了两天.这道题luogu有简单版,可以先去看简单版. 显然这是一只DP题,直接开始推狮子.令 dp ...

  2. 树莓派CM4(三): 定制自己的树莓派镜像

    1. 镜像下载 使用树莓派最新的镜像Raspberry Pi OS Lite,内核版本6.6 下载链接 https://downloads.raspberrypi.com/raspios_lite_a ...

  3. React 18 自定义 Hook 获取 useState 最新值

    原理:通过同步更新 useRef  来获取最新值 // util.ts export const useRefState = (init: any = null) => { const [sta ...

  4. Oracle数据库安装与还原

    安装Oracle 11g数据库 安装数据库参考这位大佬的文章:(135条消息) Oracle 11g版本下载及安装超详细教程图解_oracle11g下载_田夜的博客-CSDN博客 非常详细 利用dmp ...

  5. LaTeX 编译警告:Script 'CJK' not explicitly supported within font 'FandolSong-Regular'. Check the typeset output, and if it is okay then ignore this warning. Otherwise a different font should be chosen.

    在编译一篇中文文档时遇到如下警告: Package fontspec Warning: Script 'CJK' not explicitly supported within font 'Fando ...

  6. SSM + Freemarker 开发框架快速搭建

    1.项目骨架建立 一.使用开发工具IDEA,构建Maven项目,然后调整Maven项目结构,使其成为一个标准的web项目: 此处不选择Maven骨架,直接Next: 输入项目的相关信息,直接Finis ...

  7. WKCTF RE

    WKCTF so_easy 安卓逆向,关键的check逻辑都在native层里面 主要是很多层的异或操作 除了Z3和爆破想不到其他方法了 from z3 import * src = [ 0xAE, ...

  8. 在.NET后端开发的十年之旅:反思与总结

    开局        依稀记得那是2014年11月大四上学期,学校已经没有课了.看着同寝室的其他室友都出去实习了,而我一个人还坐在电脑前发呆.因为的不敢出去面试. 由于小学时牙齿有一颗龅牙,从小就产生了 ...

  9. VS2022 17.12.0 Preview2版本对Copilot的功能增强

    前提条件,使用最新版的17.12.0 Preview2,并且有有效的Copilot AI订阅,那么可以体验这个新鲜好用的功能 增强了Copilot AI对IEnumerable Visualizer的 ...

  10. 学习高校课程-软件设计模式-软件设计原则(lec2)

    Feature of Good Design (1) 优秀设计的特点(一) Code reuse 代码复用 – Challenge: tight coupling between components ...