• DockerFile 是用来构建Docker镜像的构建文件,是由一些列命令和参数构成的脚本。后面再详细了解 DockerFile !

1、我们在宿主机 /home 目录下新建一个 docker-test-volume文件夹

[root@zheng home]# mkdir docker-test-volume
# 说明:在编写DockerFile文件中使用 VOLUME (就是-v)指令来给镜像添加一个或多个数据卷
VOLUME["/dataVolumeContainer1","/dataVolumeContainer2","/dataVolumeContainer3"]
# 出于可移植和分享的考虑,我们之前使用的 -v 主机目录:容器目录 这种方式不能够直接在DockerFile中实现。
# 由于宿主机目录是依赖于特定宿主机的,并不能够保证在所有宿主机上都存在这样的特定目录.

2、编写DockerFile文件,名字随意

[root@zheng docker-test-volume]# pwd
/home/docker-test-volume
[root@zheng docker-test-volume]# vim dockerfile1
[root@zheng docker-test-volume]# cat dockerfile1
#指令命令都要大写
FROM centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"] #匿名挂载
CMD echo "-------end-------" # 生成完成显示end
CMD /bin/bash

3、build后生成镜像,获得一个新镜像 zheng/centos

docker build -f /home/docker-test-volume/dockerfile1 -t zheng/centos .
# 注意最后有个. 当前目录
# build 建造镜像 ; -f 指路径 ; -t tag生成镜像加名字,镜像名前不需要/

4、启动容器

[root@zheng docker-test-volume]# docker run -it 0e97e1891a3d /bin/bash   #启动容器
[root@f5824970eefc /]# ls -l
total 33
lrwxrwxrwx 1 root root 7 May 11 2019 bin -> usr/bin
drwxr-xr-x 2 root root 4096 May 11 11:55 dataVolumeContainer1 # 这个目录就是我们生成镜像时自动挂载的,也就是数据卷目录
drwxr-xr-x 2 root root 4096 May 11 11:55 dataVolumeContainer2 # 数据卷目录
drwxr-xr-x 5 root root 360 May 11 11:55 dev
..... # 这个卷和外部一定有一个同步目录

对应的主机目录地址在哪里?

5、我们在数据卷中新建一个文件

[root@f5824970eefc dataVolumeContainer1]# pwd
/dataVolumeContainer1
[root@f5824970eefc dataVolumeContainer1]# touch container.txt #容器内部创建的文件
[root@f5824970eefc dataVolumeContainer1]# ls -l
total 0
-rw-r--r-- 1 root root 0 May 11 11:58 container.txt
# 在容器内创建了,在容器外就有

6、查看下这个容器的信息(元数据)

[root@zheng ~]# docker inspect 0e97e1891a3d(容器ID)
# 找到mounts 查看输出的Volumes
"Volumes": {
"/dataVolumeContainer1": {}
"/dataVolumeContainer2": {}
},
# 即可看到路径

7、这个卷在主机对应的默认位置

cd /var/lib/docker/volumes/容器匿名/_data		#进入目录
ls #即可看到有自己创建的文件

最新文章

  1. javascript中三种典型情况下this的含义
  2. div赋值,取值和input赋值,取值
  3. 谈mvc开发中gzip压缩的应用
  4. c# 生成json数据包
  5. 如何做到尽可能不使用庞大的jQuery
  6. 嵌入式 hi3518平台检测网线是否插上
  7. js字符串转json
  8. Linux下如何查看哪些进程占用的CPU内存资源最多
  9. HDOJ 4416 Good Article Good sentence
  10. angular4.0 父子组建之间的相互通信
  11. As a Start - 毫厘之间,宇宙之外
  12. Sonar 数据库表关系整理一(rule相关)
  13. I - Beautiful People ZOJ - 2319 (二分法)
  14. JAVA8 Stream集合操作:中间方法和完结方法
  15. with as (转)
  16. C# 获取当前打开的文件夹2
  17. java多线程有几种实现方法?线程之间如何同步
  18. SQL语言的增删改查
  19. NPOI+Json文件解析Excel
  20. Myeclipse2013下载,安装,破解,介绍(CSDN首发)

热门文章

  1. BUUCTF-菜刀666
  2. POI导出复杂Excel,合并单元格(2)
  3. DBSync新增对MongoDB、ES的支持
  4. 集合—collection、iterator遍历集合
  5. 乐观锁和悲观锁在kubernetes中的应用
  6. Eslint 项目笔记
  7. 一张图进阶 RocketMQ - 消息存储
  8. maven的常见问题
  9. 算法竞赛进阶指南 0x43 线段树
  10. Codeforces Round #768 (Div. 2) D. Range and Partition // 思维 + 贪心 + 二分查找