数据卷之Docker File

作者:@郑琰
本文转载请注明出处!:https://www.cnblogs.com/zhengyan6/p/16100422.html


  • 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 #即可看到有自己创建的文件
posted @   郑琰  阅读(76)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
#

# #
点击右上角即可分享
微信分享提示