ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Dockerfile(14) - VOLUME 指令详解

2021-10-31 15:02:12  阅读:153  来源: 互联网

标签:容器 14 data VOLUME 挂载 docker Dockerfile 目录


VOLUME 一句话总结

  • 作用:创建一个匿名数据卷挂载点
  • 格式: VOLUME ["/data"] 
  • 详解:运行容器时可以从本地主机或其他容器挂载数据卷,一般用来存放数据库和需要保持的数据等

 

实际栗子

VOLUME ["/data"] 
  • 这里的 /data 目录就会在运行时自动挂载为匿名卷,任何向 /data 中写入的信息都不会记录进容器存储层,从而保证了容器存储层的无状态化
  • 容器运行时使用 docker run -v mydata:/data  可以覆盖这个挂载设置【个人测试的时候貌似并不可以,不知道是不是姿势不对。。】
  • 必须使用双引号,不能使用单引号

 

注意事项

使用基于 Windows 的容器时

挂载的目录必须是以下之一:

  • 一个不存在或空的目录
  • C 盘以外的盘

 

无法通过 VOLUME 挂载主机目录

  • 为了镜像的可移植性,VOLUME 指令不支持指定主机目录参数(像  docker run -v <主机目录>:<容器目录>  是可以指定主机目录的)
  • 如果要指定,还是要通过 docker run -v 来指定主机目录哦

 

VOLUMN 指令后面的步骤

如果在 VOLUMN 指令后面的构建步骤更改了卷中的数据,这些数据会被丢弃

 

小栗子

FROM ubuntu
RUN mkdir /myvol
RUN echo "hello world" > /myvol/greeting
VOLUME /myvol

 

运行容器

docker run -it -d test

没有用 -v 挂载卷

 

通过 docker inspect 查看挂载卷

docker inspect 3d2f

可以看到 Volumes 空

"Volumes": {
    "/myvol": {}
},

 

标签:容器,14,data,VOLUME,挂载,docker,Dockerfile,目录
来源: https://www.cnblogs.com/poloyy/p/15476182.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有