狂神说-Docker基础-学习笔记-07 容器数据卷
狂神说-Docker基础-学习笔记-07 容器数据卷
什么是容器数据卷
运行时数据都在容器中,如果容器被删除,那么数据将丢失,为了解决数据保存和复用的问题,出现了容器的数据卷,即使,容器被删除数据也能得到保存,不同容器间也可以共享数据。
其实就是实现了容器数据到本地数据的同步,这就是卷数据,这就是目录的挂载,将容器内的目录挂载到宿主机上面

使用数据卷
方式一:直接使用命令来挂载:
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 容器数据卷的更多相关文章
- Docker学习笔记-03 容器数据卷
1.宿主 vs容器直接映射数据容器卷 docker run -it --privileged=true -v /宿主机绝对路径目录 :/ 容器内目录 镜像名 eg: docker run ...
- Docker小白到实战之容器数据卷,整理的明明白白
前言 上一篇把常用命令演示了一遍,其中也提到容器的隔离性,默认情况下,容器内应用产生的数据都是由容器本身独有,如果容器被删除,对应的数据文件就会跟着消失.从隔离性的角度来看,数据就应该和容器共存亡:但 ...
- Docker系列(16)- 容器数据卷
什么是容器数据卷 docker的理念回顾 将应用和环境打包成一个镜像 数据?如果数据都在容器中,那么我们容器删除,数据就会丢失!新增一个需求:数据可以持久化 MySQL,容器删了等于删库跑路!新增一个 ...
- [Docker] docker 基础学习笔记3(共6篇)
首先我们安装好了ssh server之后, 我们需要将这个容器commit,然后启动这个被commit的image. 启动方式: docker run -d -p 2222:22 /usr/sbin/ ...
- [Docker] docker 基础学习笔记2(共6篇)
febootstrap 是一个自制image的一个第三方的工具,好像他们现在都要用这个. 安装还是挺方便的. yum -y install febootstrap febootstrap -i ...
- [Docker] docker 基础学习笔记1(共6篇)
巩固一下yum: yum本身是centos自带的软件,可以删掉然后再重新安装. yum本身可以配置yum源,网络的,本地的都可以.之后安装docker需要配置一个扩展源. 从163的网址里边下载好 ...
- [Docker] docker 基础学习笔记6(共6篇)
这个迁移指的是docker整个系统的迁移,而不是说images存储位置迁移 docker info 查看docker的各项配置 首先做文件的迁移 使用rsync软件将docker的文件夹整体迁移到 ...
- [Docker] docker 基础学习笔记5(共6篇)
docker 配置文件的位置: centos : /etc/sysconfig/docker ubuntu: /etc/default/docker 现在比如我自己电脑上已经装好了docker,但 ...
- [Docker] docker 基础学习笔记4(共6篇)
离线安装nginx apache 如何启动war包 linux 离线升级内核 nginx和Apache的使用 nginx 的负载均衡配置 是如此的简单,比weblogic的要简单100 ...
- Docker(Linux)学习笔记以及Redis/MariaDB的容器使用后台全自动启动
1:Docker安装,由于Docker后续pull镜像的服务器默认是在国外的,速度实在是太慢,这里使用阿里云的镜像 阿里云的Docker CE 镜像源站进行安装 docker ===========U ...
随机推荐
- Canvas简历编辑器-图形绘制与状态管理(轻量级DOM)
Canvas简历编辑器-图形绘制与状态管理(轻量级DOM) 在前边我们聊了数据结构的设计和剪贴板的数据操作,那么这些操作都还是比较倾向于数据相关的操作,那么我们现在就来聊聊基本的图形绘制以及图形状态管 ...
- Java IO 流详解
概述 流是一个抽象的概念,代表了数据的无结构化传递.流的本质是数据在不同设备之间的传输.在 Java 中,数据的读取和写入都是以流的方式进行的 在 Java 中,根据数据流向的不同,可以将流分为输入( ...
- DIjkstra进阶模板 路径记录 按权重(结点数最小等)记录
struct DIJ { using i64 = long long; using PII = pair<i64, i64>; vector<i64> dis, path, n ...
- SimpleRAG:基于WPF与Semantic Kernel实现的一个简单的RAG应用
SimpleRAG介绍 SimpleRAG是基于WPF与Semantic Kernel实现的一个简单的RAG应用,可用于学习与理解如何使用Semantic Kernel构建RAG应用. GitHub地 ...
- ubuntu 16.04 安装Python3.8虚拟环境
virtualenv为应用提供了隔离的Python运行环境,可以解决不同应用间多版本的冲突问题. virtualenv会把用户指定版本的python复制到虚拟环境下,并修改相关的环境变量,使得pyth ...
- SQL中解决i+1 & values中插入变量
基于JDBC环境下使用mysql插入数据的一些小问题 下方代码用于实现 批量向数据库中插入数据 一般为"垃圾"数据 代码例子实现i+1的效果 i=1 i+1=2 for (int ...
- Modbus ASCII 获取数据
根据银河高低温试验箱协议读取数据 1.协议内容 8.1:通讯协议介绍 8.1.5 通讯设置 本通讯协议使用异步串行通讯方式,1 个起始位.8 个数据位.2 个停止 位.无奇偶校验数据通讯格式,其中数据 ...
- 【Python爬虫】之爬取页面内容、图片以及用selenium爬取
下面不做过多文字描述: 首先.安装必要的库 # 安装BeautifulSoup pip install beautifulsoup4 # 安装requests pip install requests ...
- 自动调用关闭释放资源try-with-resources
try-with-resources自动执行释放资源 看到了try这个关键字立马就应该能想到异常处理机制try-catch-finally语句块.这里要说的东西和异常处理背后的机制其实几乎是一样的,只 ...
- 【YashanDB数据库】YashanDB如何回收表空间
确认表空间高水位线,是否有可回收空间. select a.tablespace_name,a.high_water_mark,b.user_bytes,b.total_bytes from (SELE ...