一、Volume

当我们在编写Dockerfile文件时,会有这么个语句VOLUME这个语句的意思就是在容器和宿主机中建立一个共享目录,也就是容器可以把数据保存到这个目录下。这也是docker中容器数据持久化保存的一种方式。

那么如何去使用这个Volume呢?我们先来做个小实验,这个实验是这样的,我们创建一个带有jdk的镜像,并与主机共享一个目录"/usr/mydata",然后把打包好的一个应用放在这个目录下,之后启动容器,并在这个目录下去运行应用,此时我们从容器中取创建一个文件,再回到宿主机中取查看当前文件是否创建成功,当我们删除这个容器之后,再看看文件是否存在。

第一步:创建镜像

FROM openjdk:8
LABEL author="cainiao1024"
VOLUME /usr/mydata
CMD []

容器依赖Java环境,然后指定一个共享目录,此时,docker build -t myvolume .就会构建好一个镜像

第二步:把准备好的Java应用复制到/usr/mydata目录下
第三步:启动容器,并执行当前的Java程序

如图所示,当我启动容器并执行我们添加好的应用,发现可以成功执行,说明当前挂载成功。
第四步:从容器中在共享目录下创建文件my.txt

此时回到,宿主机中的/usr/mydata目录下查看文件也创建好了

我们再反向操作一下,在宿主机中创建一个host.txt文件并添加内容 hello volume,然后再回到容器中查看当前文件内容是否可以得到。

宿主机中已经创建好,此时在容器中查看,也可以得到文件内容

第五步:删除容器,然后再重启,继续查看文件是否存在,重启后发现还是可以得到输出内容

经过以上认证,说明我们可以指定一个宿主机中的目录来保存容器中的数据,也可以把物理主机中的文件发送给容器。

注意: 在我们启动容器时需要指定-v参数 ,也就是指定宿主机中的目录和容器中的目录的对应关系

二、volume操作

Docker中也实现了对Volume的相关操作,可以使用docker volume指令来创建删除一个挂载点

实例:

创建了一个myvolume的挂载点,查看这个volume时发现他在宿主机中的"/var/lib/docker/volumes/myvolume/_data"目录下,所以我们可以把我们想要保存的或者发送的数据都可写作这个目录下进行操作。

三、总结

本文简单学习了关于Volume的相关知识,后续将进一步学习Docker中的其它知识。

以上,有任何不对的地方请指正,谢谢!

Docker容器学习六之Volume相关推荐

  1. Docker容器学习梳理--日常操作总结

    使用Docker已有一段时间了,今天正好有空梳理下自己平时操作Docker时的一些命令和注意细节: Docker 命令帮助 $ sudo docker Commands:attach Attach t ...

  2. Docker容器学习笔记一

    Docker容器学习笔记一 狂神说B站视频:https://www.bilibili.com/video/BV1og4y1q7M4?p=1 Docker容器学习笔记二:https://blog.csd ...

  3. Docker容器学习梳理--应用程序容器环境部署

    关于国内Docker镜像,可以参考:Docker容器学习梳理--基础知识(2) 的Docker镜像使用. 如果我们需要在Docker环境下部署tomcat.redis.mysql.nginx.php等 ...

  4. Docker容器学习梳理 - Volume数据卷使用

    Docker volume使用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Docker中的数据可以存储在类似于虚拟机 ...

  5. Docker容器学习(一)

    文章目录 前言: 一.Docker 概述: 1.Docker 简介: 2.对比传统虚拟机: 二.基本概念: 1.镜像(image): 2.容器(container): 3.仓库(repository) ...

  6. Docker容器学习笔记(看了狂神视频)

    狂神的笔记更加系统详细,推荐大家可以去看狂神的视频教程和笔记.我这里仅根据我自己的需求写的笔记,对于需要快速掌握docker的使用的朋友可以参考学习. Docker 背景需求 之前,开发一套环境,上线 ...

  7. docker容器学习笔记

    docker是通过内核虚拟化技术来提供容器的资源隔离与安全保障. docker组成: docker client.docker server.docker组件(镜像(image).容器(contain ...

  8. Docker容器学习

    介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化. 容器是完全使用沙箱机制,相互之间不会有 ...

  9. 2.Docker容器学习之新生入门必备基础知识

    文章目录 0x02 Docker 核心概念 1.镜像 [image] 2.容器 [Container] 3.仓库 [Repository] 0x03 Docker 数据管理 1.数据卷 2.数据卷容器 ...

最新文章

  1. 【Unity笔记】使用协程(Coroutine)异步加载场景
  2. 观看马云网商大会视频的一些感想.
  3. 关于寄存器的定义__REG
  4. python全排列_全排列算法python实现
  5. 安卓手机背景变黑色怎么改_别着急扔掉旧手机 你的电脑可能需要它
  6. python高级编程装饰器_Python装饰器
  7. 十个模块_专栏 | ABAQUS Part模块的十个小技巧
  8. NEW WAVE年轻人品质旅游报告
  9. python计算卡方分布_如何用Python计算上证指数的涨跌幅分布情况?
  10. 异动处理中的发票类型应用(Complaint Processing)
  11. 自定义控件的构建(6)
  12. 亲,C/C++/C#居然薄弱叻?不会吧,现在是HTML5+CSS3+javascript的时代?
  13. 【基础教程】基于matlab图像质量评价综述【含Matlab源码 075期】
  14. 自抗扰控制(ADRC)—— 一阶系统
  15. STAR法则的理解及事例
  16. 手机电源管理芯片一般在哪
  17. LTM系统并联接入方式数据包交互分析
  18. to_date() 整理
  19. 牛牛找工作--网易2019实习生招聘编程题
  20. 白骨精写给孙悟空的信

热门文章

  1. hdl_graph_slam源码分析(4)——SLAM建图
  2. GetData软件使用--获取曲线图中的数据
  3. CSGO连跳bhop教学 #1 kz基本认识,空中加速以及长跳
  4. assert 能提高编程效率?你确定?
  5. 达摩克利斯之剑:开源软件的合规风险及防控策略
  6. 大虎2021软件校招笔试题
  7. 怎么搭建开发一款社交IM系统软件?
  8. 学习国际机票:航程的种类
  9. 截止8月10日!2022年芜湖市核心技术攻关项目“揭榜挂帅”榜单申报奖补流程
  10. Python 如何截取截取字符串(字符串切片)