容器运行时应该尽量保持容器存储层不发生写操作,对于数据库类需要保存动态数据的应用,其数据库文件应该保存于卷(volume)中。为了防止运行时用户忘记将动态文件所保存目录挂载为卷,在Dockerfile 中,我们可以事先指定某些目录挂载为匿名卷,这样在运行时如果用户不指定挂载,其应用也可以正常运行,不会向容器存储层写入大量数据。

那么Dockerfile中的VOLUME指令实际使用中是不是就是跟docker run中的-v参数一样是将宿主机的一个目录绑定到容器中的目录以达到共享目录的作用呢?
并不然,其实VOLUME指令只是起到了声明了容器中的目录作为匿名卷,但是并没有将匿名卷绑定到宿主机指定目录的功能。
但是当我们生成镜像的Dockerfile中以Volume声明了匿名卷,并且我们以这个镜像run了一个容器的时候,docker会在安装目录下的指定目录下面生成一个目录来绑定容器的匿名卷(这个指定目录不同版本的docker会有所不同)。

Dockerfile 声明了 Volumn

但是 docker run 没有 -v 时

就是说当Dockerfile中声明了匿名卷,但是run的时候没有使用-v绑定匿名卷的话,那么docker就会在/var/lib/docker/volumes这个目录下创建一个目录来绑定匿名卷。

docker run -v 时

#docker run -d -it -name redis1 -v /data:/usr/share/zoneinfo image-redis    //运行一个容器并且将当前机器的/data目录绑定到容器的匿名卷中

Docker - volume、-v 区别相关推荐

  1. Docker(五):Docker Volume

    一.将Docker数据挂载到容器 在Docker中,要想实现数据的持久化(所谓Docker的数据持久化即***数据不随着Container的结束而结束***),需要将数据从宿主机挂载到容器中.目前Do ...

  2. 用一个实际例子理解Docker volume工作原理

    要了解Docker Volume,首先我们需要理解Docker文件系统的工作原理.Docker镜像是由多个文件系统的只读层叠加而成.当一个容器通过命令docker run启动时,Docker会加载只读 ...

  3. Docker Review - 使用docker volume数据卷实现容器内的数据与宿主机同步

    文章目录 Pre docker volume 基本操作 挂载一个主机目录作为数据卷 Pre 数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷 可以在容器 ...

  4. (转)Docker volume plugin - enabled create local volume on docker host

    原文地址:https://hub.docker.com/r/cwspear/docker-local-persist-volume-plugin/ Short Description Create n ...

  5. [自学]Docker system 命令 查看docker镜像磁盘占用情况 Docker volume 相关

    内容From https://docs.docker.com/engine/reference/commandline/system_df/ docker的image和docker的container ...

  6. Docker volume使用

    为什么80%的码农都做不了架构师?>>>    一个数据卷是一个特别指定的目录,该目录利用容器的UFS文件系统可以为容器提供一些稳定的特性或者数据共享.数据卷可以在多个容器之间共享. ...

  7. 利用Docker volume修改Nginx Docker镜像里index.html

    通过这个小例子我们可以进一步加深对Docker volume概念的理解和使用方法. 我们都知道运行基于Docker的Nginx镜像后,访问localhost能看到Nginx默认的首页,这个首页的位置是 ...

  8. 用一个实际例子理解Docker volume工作原理 1

    要了解Docker Volume,首先我们需要理解Docker文件系统的工作原理.Docker镜像是由多个文件系统的只读层叠加而成.当一个容器通过命令docker run启动时,Docker会加载只读 ...

  9. 深入理解Docker Volume(一)

    本文讲的是深入理解Docker Volume(一),[编者的话]本文主要介绍了Docker Volume的原理以及使用方式,是Docker入门教程的延伸.作者通过从数据的共享.数据容器.备份.权限以及 ...

最新文章

  1. 《算法基础:打开算法之门》一1.5 拓展阅读
  2. 设计模式(19)-Observer Pattern
  3. 1000种对Java的响应没有死
  4. html之元素与元素的形成
  5. SQL Server2005彻底卸载
  6. vue设置右边距_数控CNC雕刻机使用系列之二: 维宏软件的参数设置
  7. 新手初用mybatis
  8. K8S重启后coredns pod无法正常运行
  9. python ImportError: No module named spiders
  10. 信息 按顺序打印commit_Git 工作流,看这一篇就够了
  11. 计算机u盘打不开怎么办,电脑*u盘打不开怎么办
  12. java缓冲溜大题_求大神解答这一道Java题 第20题 跪谢!
  13. 解析中小学生的 AI 思维学习模型
  14. 路径规划五种算法简述及对比
  15. html阴影 渐变,CSS 阴影 轮廓 渐变详解
  16. mysql逻辑运算符的优先顺序_布尔逻辑算符的类型和在检索式中优先执行的顺序...
  17. 公司职位简称表 C?O
  18. 【JavaScript--React】本篇文章将带你体验不同于vue框架的react框架
  19. 中国最强科技,中国天眼!
  20. 关于麦克风阵列入门要读的书

热门文章

  1. 台湾国立大学郭彦甫Matlab教程笔记(5)structured programming
  2. java什么是类枚举类_java枚举类型是什么?
  3. percona mysql备份与恢复(一)
  4. 关于年份和月份的计算
  5. Android 跑马灯的方法
  6. 与台湾的第一次亲密接触
  7. Zabbix监控流程和web界面功能
  8. 2013-8-25 上周工作总结
  9. dxp全称_DXP企业标志logo设计,品牌vi设计策划
  10. DXP软件使用快捷键