数据卷的特性

  • 数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS
  • 数据卷可以在容器之间共享和重用,相当于将一个分区挂载到多个目录下面
  • 数据卷内容的修改会立马生效
  • 数据卷的更新,不会影响镜像;因为数据卷只是一个挂载点,跟容器本身并无太大的关系
  • 数据卷默认会一直存在,即使容器被删除;一般都需要手动去删除

相关命令

创建一个数据卷
docker volume create my-vol 查看所有的数据卷
docker volume ls 删除数据卷
docker volume rm my-vol 查看指定数据卷信息
docker volume inspect my-vol 创建一个名为 web 的容器,并加载一个 数据卷 到容器的 /webapp 目录
docker run -d -P --name web --mount source=my-vol,target=/webapp training/webapp python app.py 删除容器的同时,删除数据卷(默认数据卷不会随容器一并删除)
docker rm -v 清理所有未挂载到容器的数据卷
docker volume prune 指定挂载一个本地主机的目录到容器中去;
docker run -d -P --name web --mount type=bind,source=/src/webapp,target=/opt/webapp training/webapp python app.py Docker 挂载主机目录的默认权限是读写,用户也可以通过增加 readonly 指定为只读
docker run -d -P --name web --mount type=bind,source=/src/webapp,target=/opt/webapp,readonly training/webapp python app.py 从主机挂载单个文件到容器中
docker run --rm -it --mount type=bind,source=$HOME/.bash_history,target=/root/.bash_history ubuntu:18.04 bash PS:以前的docker版本中是用-v选项来进行容器数据卷的挂载,但是-v挂载的容器路劲如果不存在会自动创建;--mount挂载的容器路劲不存在则会报错,这是两者的区别,无所谓优劣 使用-v选项进行挂载
docker run -itd -v mysql:/var/lib/mysql --name mysql1 mysql
docker run -itd -v /var/lib/mysql:/var/lib/mysql --name mysql1 mysql

Docker基础内容之数据持久化的更多相关文章

  1. Docker深入浅出系列 | 容器数据持久化

    Docker深入浅出系列 | 容器数据持久化 Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会 ...

  2. 老司机带你玩转面试(1):缓存中间件 Redis 基础知识以及数据持久化

    引言 今天周末,我在家坐着掐指一算,马上又要到一年一度的金九银十招聘季了,国内今年上半年受到 YQ 冲击,金三银四泡汤了,这就直接导致很多今年毕业的同学会和明年毕业的同学一起参加今年下半年的秋招,这个 ...

  3. docker基础内容讲解

    一.初识docker 1.1 LXC介绍 LXC为LinuX Container的简写.Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提 ...

  4. Docker:PostgreSQL-11配置数据持久化

    卷的原理图: 主机中的本地目录作为Docker容器内的持久存储卷装载,以便在主机和Docker容器之间共享数据.如果主机希望访问或定期备份在Docker容器内运行的DB服务器写入文件夹的数据或数据库, ...

  5. Docker基础内容之命令大全

    run(未补全) 说明:创建一个新的容器并运行一个命令 语法如下: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 选项说明: -a stdin: 指定标准 ...

  6. Docker基础内容之镜像构建

    前言 Docker可以通过读取Dockerfile中的指令来自动构建图像.Dockerfile是一个文本文档,包含用户可以在命令行上调用的所有命令来组装一个图像.使用docker构建用户可以创建一个自 ...

  7. Docker基础内容之网络基础

    网络命名空间基本原理 单机版多容器实例网络交互原理 在宿主机上面打开两张网卡eth0与eth1,打通两张网卡的链路 在test1上面启动一个veth网卡,创建一个namespace:并桥接到eth0上 ...

  8. Docker基础内容之仓库

    前言 Docker提供了开放的中央仓库dockerhub,同时也允许我们使用registry搭建本地私有仓库.搭建私有仓库有如下的优点: 节省网络带宽,提升Docker部署速度,不用每个镜像从Dock ...

  9. Docker基础内容之镜像

    概念 镜像是一个包含程序运行必要依赖环境和代码的只读文件,它采用分层的文件系统,将每一次改变以读写层的形式增加到原来的只读文件上.镜像是容器运行的基石. 下图展示的是Docker镜像的系统结构.其中, ...

随机推荐

  1. WWDC2018 之 优化 App Assets Optimizing App Assets

    该篇博客记录了观看WWDC Session227<Optimizing App Assets>的内容以及一些理解. 引言 该session主要讲述了使用Assets Catalog的新特性 ...

  2. 机器学习回顾篇(12):集成学习之Bagging与随机森林

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  3. 【他山之石】jenkins忘记初始化密码解决办法

    没有太好的方式,网上有的是这样子的,找到 /var/lib/jenkins/users/username/config.xml, 修改为一个已知的 hash 值 #jbcrypt:$2a$10$Dda ...

  4. 美团面试官问我一个字符的String.length()是多少,我说是1,面试官说你回去好好学一下吧

    本文首发于微信公众号:程序员乔戈里 public class testT { public static void main(String [] args){ String A = "hi你 ...

  5. 基础之Lamada和Stream的邂逅

    show me the code and take to me,做的出来更要说的明白 GitHub项目JavaHouse同步收录 喜欢就点个赞呗! 你的支持是我分享的动力! 引入 是否有遇到看不懂身边 ...

  6. 洛谷$P$3293 美味 $[SCOI2016]$ 主席树

    正解:主席树 解题报告: 传送门! 挺有趣的,至少我不会$QAQ$(虽然我不会的多了去了$QAQ$ 如果没有这个所谓美味度限制可以直接线段树水过去嘛$QwQ$ 然后现在问的是个异或运算后的结果,关于异 ...

  7. Spark设置Kryo序列化缓冲区大小

    背景 今天在开发SparkRDD的过程中出现Buffer Overflow错误,查看具体Yarn日志后发现是因为Kryo序列化缓冲区溢出了,日志建议调大spark.kryoserializer.buf ...

  8. Serverless 设计理念:从头创建品牌标识

    本文首发于 Serverless 中文网,译者:Aceyclee.如需转载,请保留原作者和出处. 如何在开源技术社区中做设计?本文来自 Serverless 团队中首席设计的分享 -- 展现了设计过程 ...

  9. 正则表达式grep命令

    grep命令 作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查:打印匹配到的行. 模式::由正则表达式字符及文本字符所编写的过滤条件 语法:grep [OPTIONS] PATTE ...

  10. Some collections were archived because you’ve reached the shared requests limits.错误解决

    今天打开我的postman 发现我的一个collection不见了,左下角出现一个提示, Some collections were archived because you’ve reached t ...