狂神说-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 ...
随机推荐
- C#.Net筑基-解密委托与事件
委托与事件是C#中历史比较悠久的技术,从C#1.0开始就有了,核心作用就是将方法作为参数(变量)来传递和使用.其中委托是基础,需要熟练掌握,编程中常用的Lambda表达式.Action.Func都是委 ...
- MD5签名生成,字典排序,实际生产
1.背景 作用:防止请求参数篡改,限制请求时效性: 常用方式:md5签名 关键:签名Key 常用签名原串排列:字母顺序.key1=value1&key2=value2....key (注意:签 ...
- 附037.Kubernetes_v1.29.2高可用部署架构二
部署组件 该 Kubernetes 部署过程中,对于部署环节,涉及多个组件,主要有 kubeadm .kubelet .kubectl. kubeadm介绍 Kubeadm 为构建 Kubernete ...
- Exgcd 模板
Exgcd 模板 pair<int, int> exgcd(int a, int b) { if (b == 0)return make_pair(1, 0); auto [x, y] = ...
- Android 存储概览
存储区 Android 一开始就将存储区分为内部存储和外部存储,对应手机自带的存储和可插拔的 sd 卡(可类比于 PC 的硬盘和 U盘). 内部存储容量有限,Google 建议 App 数据尽量存储 ...
- zabbix 4.0监控web页面
web监控 web监测是用来监控web程序的,可以监控web程序的平均下载速度.响应时间.HTTP状态码. 环境 至少有两台被监控主机 静态网页检测 选择监控主机 配置场景 web监测->创 ...
- udp协议及包格式
UDP协议也是互联网基础协议之一.它和TCP一样同属于传输层当中的一个协议. 不过UDP协议是一个面向无连接的协议(TCP是向面连接的协议).一个UDP连接的建立,不必象TCP协议那样需要服务器端侦听 ...
- 使用JDBC查询数据库会一次性加载所有数据吗
前几天有个小伙伴说他有个疑问:当我们发起一个查询的时候,数据库服务器是把所有结果集都准备好,然后一次性返回给应用程序服务吗(因为他们生产有个服务因为一个报表查询搞宕机了). 这样想的原因很简单,假设那 ...
- Feign 动态设定服务器名称 与 调用接口
1. 新增编码器(由于使用了动态的Feign,所以不能像正常使用Feign一样指定configuration配置编码器) import feign.RequestTemplate; import fe ...
- 日志与追踪的完美融合:OpenTelemetry MDC 实践指南
前言 在前面两篇实战文章中: OpenTelemetry 实战:从零实现分布式链路追踪 OpenTelemetry 实战:从零实现应用指标监控 覆盖了可观测中的指标追踪和 metrics 监控,下面理 ...