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

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"]代表这两个目录都会挂在到宿主机的自动生成的目录。 


http://www.kler.cn/a/557647.html

相关文章:

  • ok113i平台——更改根目录分区大小
  • 【深度学习】Pytorch的深入理解和研究
  • 跟着李沐老师学习深度学习(十二)
  • Cython学习笔记1:利用Cython加速Python运行速度
  • 算法日记25:01背包(DFS->记忆化搜索->倒叙DP->顺序DP->空间优化)
  • HDFS入门与应用开发
  • 蓝桥杯——按键
  • 从零搭建微服务项目Pro(第1-1章——Quartz实现定时任务模块)
  • 实现 INFINI Console 与 GitHub 的单点登录集成:一站式身份验证解决方案
  • 国产编辑器EverEdit - 洞察秋毫!内置文件比较功能!
  • 正确清理C盘空间
  • 【AI】常见的AI工具地址和学习资料链接
  • INDEMIND:AI视觉赋能服务机器人,“零”碰撞避障技术实现全天候安全
  • picgo-plugin-huawei插件发布
  • github配置sshkey
  • Apipost 与 Postman 工具实践指南:WebSocket调试与动态参数测试
  • springboot单机支持1w并发,需要做哪些优化
  • Mac m1 连接公司内网
  • 期权帮|股指期货中的套期保值如何操作?
  • 智慧校园导航系统路径规划实战(附Python源码):用A*算法实现教学楼最优路径搜索