Docker_容器数据卷
容器数据卷
当使用docker容器的时候,会产生一系列的数据文件,这些数据文件在关闭docker容器时会消失,但其中产生的部分内容希望能够把它给保存起来另作用途的,Docker将应用与运行环境打包成容器发布,我们希望在运行过程钟产生的部分数据是可以持久化的,而且容器之间也希望能够实现数据共享。
通俗地来说,docker容器数据卷可以看成生活中常用的u盘,它存在于一个或多个的容器中,由docker挂载到容器,但不属于联合文件系统,Docker不会在容器删除时删除其挂载的数据卷。
特点:
- 数据卷可以在容器之间共享或重用数据
- 数据卷中的更改可以直接生效
- 数据卷中的更改不会包含在镜像的更新中
- 数据卷的生命周期一直持续到没有容器使用它为止
容器数据卷添加
有两种添加方式
直接命令添加
docker run -it 镜像名 -v /宿主机的绝对路径目录:容器内目录 镜像名
容器内有dataVolumeContainer
这个文件夹,该命令也有创建的功能
主机中也有myDataVolume
这个文件夹
这两个文件夹的出现便说明容器数据卷挂载成功,可以进行数据的共享和对接。
容器与宿主机之间数据共享
主机建立一个house.txt
文件
在容器内的dataVolumeContainer
文件夹中查看
容器停止退出后,数据还是会进行同步
先退出容器
再主机中的myDataVolume
文件夹下添加一个shy.txt文件
再来开启一下容器,查看是否能数据同步
发现即使容器退出,还是可以正常的进行数据共享的
docker run -it -v /宿主机绝对路径目录:/容器内目录:ro 镜像名
#容器内的目录只读
容器内该目录没有权限修改、没有权限添加文件
只是单向的由主机传给容器
DockerFile添加
在主机上添加一个/mydocker
目录,在目录中编写Dockerfile
文件
构建成镜像
docker build -f /mydocker/Dockerfile -t shy/centos .
进入容器内,发现有两个容器卷
对应的主机目录,因为没有指定,所以docker会默认存放到主机的一个位置中,可以使用下面命令查看
docker inspect 镜像名称/ID
也可以直接指定主机目录
docker run -it -v /host1:/dataVolumeContainer1 -v /host2:/dataVolumeContainer2 shy/centos /bin/bash
Docker挂载主机目录Docker访问出现cannot open directory : Permission denied
解决方法:在挂载目录后多加一个 --privileged=true参数即可
数据卷容器
命名的容器挂载数据卷,其他容器通过挂载这个(父容器)实现数据共享,挂载数据卷的容器,称之为数据卷容器
也就是容器之间传递共享
docker run -it --name 容器子类 --volumes-from 容器父类 镜像名称/ID
容器之间配置信息的传递,数据卷的生命周期一直持续到没有容器使用它为止(即使将父类容器删除,只要还有其他容器存在,就会进行数据共享。)
Docker_容器数据卷相关推荐
- docker 数据卷 mysql_Docker容器数据卷原理及使用方法解析
什么是容器数据卷 如果数据都在容器中,一旦容器删除,数据就会丢失! eg : mysql容器删了,就是我们常说的删库跑路. 需求:数据可以持久化,即时删掉容器,我们的数据还在 容器直接可以有一个数据共 ...
- Docker镜像、容器数据卷和Dockerfile
Docker镜像 概述 镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码.运行时.库.环境变量和配置文件. UnionFS ...
- Docker系列 五.Docker容器数据卷
五.Docker容器数据卷 环境&工具: 阿里云轻量级服务器.CentOS 7系统.FinalShell(其他连接客户端也可以) 是什么 docker的理念将运行的环境打包形成容器运行,运行可 ...
- docker之容器数据卷
目录 1.使用volume添加数据卷 2.dockerFile添加数据卷 3.数据卷容器 4.dockerFile解析 4.1dockerfile解析过程 4.2 dockerfile保留关键字 介绍 ...
- Docker小白到实战之容器数据卷,整理的明明白白
前言 上一篇把常用命令演示了一遍,其中也提到容器的隔离性,默认情况下,容器内应用产生的数据都是由容器本身独有,如果容器被删除,对应的数据文件就会跟着消失.从隔离性的角度来看,数据就应该和容器共存亡:但 ...
- Docker(三) 使用容器数据卷实现数据持久化与容器数据共享
一,什么是容器数据卷 出现背景:我们在运行的容器中所产生的数据都生成在容器中,如果容器后期被我们删除,那么在容器中的文件数据都将彻底丢失.为了获得容器中的数据,只能通过 docker cp 命令将容器 ...
- docker容器数据卷基本操作
在实际运用中,如果使用docker部署应用的时候,有这么一种情况,需要有个位置可以同步docker容器上的数据到服务器上,更通俗点讲,我们需要在服务器上开启一个位置,这个位置可以连接docker容器中 ...
- Docker容器数据卷讲解
概述 为什么Docker需要容器数据卷技术:如果没有数据卷技术,比如一个由mysql镜像创建运行的容器,产生的数据就会保存在容器中,数据的生命周期与容器的生命周期一致,如果删除了该容器,相应的数据也会 ...
- doker学习4---docker容器数据卷
doker学习4-docker容器数据卷 一.Docker容器数据卷是什么? 先来看看Docker的理念: 将运用与运行的环境打包形成容器运行 ,运行可以伴随着容器,但是我们对数据的要求希望是持久化的 ...
最新文章
- 12.前K个高频元素---使用优先队列和哈希表解决
- c# 的 textbox 默认情况下是有最大字符长度限制的
- mplayer-php,jQuery MPlayer网站音乐播放器插件
- std::priority_queue
- 【数据结构与算法】之深入解析“分数到小数”的求解思路与算法示例
- workaround for COM_ATTRFRG_GEN 066
- Bash Shell学习笔记二
- Eclipse 创建第一个 springboot 应用
- 120. Triangle
- 参会邀请 - ISWC2020 | 第十九届国际语义网会议
- 没有bug队——加贝——Python 练习实例 13,14
- POJ 2253 Frogger (求某两点之间所有路径中最大边的最小值)
- php 生成图片 打印,php 生成水印图片
- tomact配置好ssl证书后访问不到tomact_服务器上配置HTTPS的操作方法!
- #JS 窗口resize避免触发多次
- 统计学习方法——统计学习基础(一)
- 你会用JSON.stringify()?
- Coinbase、BlockFi相继开启上市准备工作,但SEC准备好了吗?
- 【Mysql】execute和executeUpdate
- 迅雷任务出错怎么办,如何解决迅雷任务出错
热门文章
- 【Python金融量化 7- 100 】、七、计算两只股票方差和相关性
- tornado 表单 post 提交
- 图马尔可夫网络:融合统计关系学习与图神经网络
- ACL 2020 | 消除文本分类问题中歧视现象的研究
- 当深度学习遇上量化交易——公开信息篇
- 抢票 | AI未来说学术论坛第八期 深度学习特别专场
- 微软最新论文解读 | 基于预训练自然语言生成的文本摘要方法
- webflux webclient DataBufferLimitException: Exceeded limit on max bytes to buffer
- C#——LINQ技术DEMO
- Spring Boot——HTTP访问重定向到HTTPS解决方案