狂神说-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 ...
随机推荐
- 随时随地与 LLMs 聊天的开源项目「GitHub 热点速览」
众所周知,本地运行 LLMs 需要下载模型(体积大),并且还比较吃硬件配置.近日 GitHub 推出了 GitHub Models 服务,让开发者可以在 GitHub 上免费测试 Llama.Phi ...
- 9.150 Predefined macros
9.150 Predefined macros The ARM compiler predefines a number of macros. These macros provide informa ...
- Typora中的markdown语法的学习
markdown语法学习 二级标题 三级标题 四级标题 字体 hello world hello world hello world hello world 引用 我是最nb的 分割线 图片 ctrl ...
- vite.config.ts基础配置分享
更多配置参考:https://vitejs.dev vite.config.ts import vue from '@vitejs/plugin-vue' import vueJsx from '@v ...
- zabbix 自定义用户key与参数userparameters监控监本输出
zabbix在模板中预定义了一些key,但通常情况,并不能满足我们的需求.幸运的是zabbix提供了自定义key的方法,因此我们可以灵活的监控各种我们想要监控的数据. 定义key有两种修改方式: vi ...
- k8s单机部署
一.环境 64位centos 二.安装 (1)关闭防火墙 systemctl stop firewalld systemctl disable firewalld (2)安装etcd与kubernet ...
- esphome esp8266刷写遇到的问题
问题描述: 在尝试打开串口时出现以下错误信息: Failed to execute 'open' on 'SerialPort': Failed to open serial port. 起因: 莫名 ...
- Oracle同一台服务器创建多个数据库
有时候我们需要再同一台机器上创建多个数据库服务(不是单纯的数据库实例),每一个数据库可以有单独的服务运行,只是在一个机器环境而已.可以在不同的端口上监听,也可以在相同端口监听 创建多个数据库步骤 安装 ...
- android 播放视频页面黑屏,且报错:Couldn't open 'xxxxxx' java.io.FileNotFoundException: No content provider:
原因为,activity的顶部布局,VideoView设定了android:background="@color/bg_black"去掉就可以了 之前跑着都正常,改了UI后就没有去 ...
- iptables 命令使用帮助总结
本文为博主原创,转载请注明出处: 1.iptables 命令帮助参数 root@controller1:~# iptables --help iptables v1.6.1 Usage: iptabl ...