当前位置: 首页 > news >正文

Dockerfile中volume功能作用

 一  dockerfile的volume

1.1.Dockerfile中volume作用

Volume可以使得多个容器共享数据;即我们可以在宿主机上创建一个目录容器的某个目录(称为挂载点、或者叫卷)关联起来,容器上的挂载点下的内容就是宿主机的这个目录下的内容。

1.2.方式1通过docker run命令创建挂载点

1查看镜像

2.创建容器,用tomcat:7这个镜像来启动容器并且创建挂载点:

https://www.cnblogs.com/Json1208/p/8975403.html

docker run是启动容器命令;

-d代表后台运行;

-P代表端口自动帮我们绑定;

--name tomcat代表将启动的容器命名为tomcat;

-v标记在容器中设置了一个挂载点 /usr/local/data(就是容器中的一个目录)并将主机上的 /home/env/containerdata 目录中的内容关联到/usr/local/data下。

3.案例操作

3.1 容器启动后,先查看宿主机/home/env目录下是否有一个containerdata

3.2宿主机已存在该目录,接着我们进入容器内部,查看是否生成/usr/local/data目录:

  3.3不管宿主机或容器内部,都自动创建了目录,接着我们在宿主机创建一个abc文件,再来查看下容器内是否同步了abc文件:

 3.4在启动容器时设置挂载点也可以不指定宿主机的目录,这时docker会自动绑定主机上的一个目录:

通过docker inspect 容器命令可以查看到挂载的目录

3.5 上面 Mounts下的每条信息记录了容器上一个挂载点的信息,"Destination" 值是容器的挂载点,"Source"值是对应的主机目录,查看宿主机是否存在该目录:

1.3.方式2通过dockerfile创建挂载点

通过dockerfile的 VOLUME 指令可以在镜像中创建挂载点,这样只要通过该镜像创建的容器都有了挂载点,但值得注意的是通过 VOLUME 指令创建的挂载点,无法指定主机上对应的目录,而是自动生成的

1编写dockerfile

#base image

FROM centos

#MAINTAINER,this dockerfile creater

MAINTAINER loose@docker.com

#VOLUME,指定挂在目录

VOLUME ["/usr/local/data1"]

2.其次,通过该dockerfile构建镜像:

 3.启动容器

4.根据容器查看挂载信息

在dockerfile中VOLUME可以指定多个挂在目录,即["/usr/local/data1","/usr/local/data2"]代表这两个目录都会挂在到宿主机的自动生成的目录。 

相关文章:

  • Cursor提示词模板,开发GD32,C语言开发GD32 ARM单片机编程规范提示词 大厂风格代码规范
  • Python常见面试题的详解17
  • Mybatis常用动态 SQL 相关标签
  • <692> 前K个高频单词
  • Windows、Mac、Linux,到底该怎么选?
  • 20250220-代码笔记01-class CVRPEnv
  • 画册封面设计有哪些要点呢?
  • 计算机单位之详解——存储单位Byte 网络传输单位bps 视频码率单位bps
  • 关于ES中text类型时间字段范围查询的结构化解决方案
  • 基于 DeepSeek LLM 本地知识库搭建开源方案(AnythingLLM、Cherry、Ragflow、Dify)认知
  • IC版图设计之DXF文件格式详解
  • 使用ezuikit-js封装一个对接摄像头的组件
  • node和vue的主流版本组合版本介绍
  • DeepSeek与AI幻觉
  • [寻找密码]
  • 游戏引擎学习第116天
  • Linux--进程(进程虚拟地址空间、页表、进程控制、实现简易shell)
  • python字符串列表
  • ROS2学习
  • 25工程管理研究生复试面试问题汇总 工程管理专业知识问题很全! 工程管理复试全流程攻略 工程管理考研复试真题汇总
  • 习近平会见委内瑞拉总统马杜罗
  • 安徽亳州涡阳县司法局党组书记刘兴连落马
  • 远离军事前线的另一面暗斗:除了“断水”,印度还试图牵制对巴国际援助
  • 浙江一民企拍地后遭政府两次违约,“民告官”三年又提起民事诉讼
  • 数说母亲节|妈妈的妈妈带娃比例提升,托举效果如何?
  • 马克思主义理论研究教学名师系列访谈|董雅华:让学生感知马克思主义理论存在于社会生活中