博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
6、Docker存储卷
阅读量:5122 次
发布时间:2019-06-13

本文共 1619 字,大约阅读时间需要 5 分钟。

Why Data Volumes?  来自马哥教育

Data volumes

Volume types 

绑定挂载卷:在宿主机和容器上各指明绑定路径才能进行绑定。

docker管理卷:在容器内指定挂载点,而被挂载点即宿主机上的挂载路径不需要用户创建,而是由docker daemon维护

 

在容器中使用Volumes(即使用docker管理卷)

-v /data  路径默认不存在

查看/data属于哪个路径?

# docker inspect b1

那么在容器b1的data目录下是可以看到此文件的

同时在容器内的data目录下操作,比如新建文件等在宿主机也是可以看到的。

以上就是有docker管理的卷

另外一种类型:绑定挂载卷

删除之前的镜像,重新启动

# docker run --name b1 -it --rm -v /data/volumes/b1:/data busybox      //  -v /data/volumes指定宿主机路径,把这个路径关联到b1上的data目录下 

注意,即使在宿主机上/data/volumes/b1这个目录之前不存在,在挂载的那一刻也被在宿主机上创建的,但必须明确指定这个路径,

其他都与docker管理卷相似,在容器创建文件在宿主机上可以看到,相反亦可以。

以上两种存储都具有持久能力,例如:

[root@node1 ~]# cd /data/volumes/b1/

[root@node1 b1]# vim index.html   //在宿主机上的/data/volumes/data目录下创建一个网页文件

虽然上述容器b1退出并删除,但是之前创建的index.html仍然是存在的。

下次在启动容器b1时,仍然把宿主上的挂载目录指定为之前创建的目录/data/valumes/data,则仍然可以看到,注意,一定要和之前的容器相同。

因此就有了持久功能。

 

多个容器共享宿主机同一个存储卷

一个docker的目录能够与宿主机的目录建立关联关系,那么两个docker容器的目录就可以关联到宿主机的同一个目录上,这样就可以实现共享存储卷了。

 

上述演示了两个容器共享一个宿主机存储卷,但是b2必须使用 -v /data/volumes/b1:/data 指定b1的目录,可以在初始化容器b2时采用直接复制b1的存储卷路径

可以创建一个容器,这个容器可以不启动,只要存在就行,这个容器作为其他生产容器的基础架构容器。在启动其他生产容器时,直接复制基础架构容器的存储设置即可。

使用场景

 

Sharing volumes

# docker run --name infracon -it -v /data/infracon/volume/:/data/web/html busybox  //创建一个基础服务的容器,可以不启动,这里使用交互式 -it 是为了演示效果。

/ #                             //-v /data/infracon/volume/ 指定宿主机卷路径   /data/web/html :关联容器的路径

# docker run --name nginx --network container:infracon --volumes-from infracon -it busybox   

    //另起一个窗口,--network container:infracon表示nginx容器加入到基础容器infracon的网络中,--volumes-from infracon表示使用容器infracon的挂载卷路径

# docker inspect infracon

# docker inspect nginx  //同上

 

docker存储卷、基于docker file做镜像文件,以及使用hap做私有仓库

 

转载于:https://www.cnblogs.com/hanshanxiaoheshang/p/10513732.html

你可能感兴趣的文章
opencv学习之路(4)、Mat类介绍,基本绘图函数
查看>>
POJ 1308
查看>>
Django+xadmin打造在线教育平台(二)
查看>>
BZOJ 4836: [Lydsy1704月赛]二元运算 分治FFT
查看>>
域名、网站名、URL
查看>>
Docker常用命令
查看>>
mysql几种存储引擎介绍
查看>>
转-Android客户端和服务端如何使用Token和Session
查看>>
IOS第14天(2, Modal控制)
查看>>
删除确认代码
查看>>
刻意练习
查看>>
学习笔记13_第三方js控件&EasyUI使用
查看>>
Java变量的初始化问题探究
查看>>
DSU on tree——令人惊叹的想法
查看>>
javascript 闭包
查看>>
约瑟夫环问题
查看>>
c++ __int64
查看>>
IP封锁 (防火墙维护一张IP黑名单)
查看>>
【模板】trie树(字典树)
查看>>
JSON.stringify 语法实例讲解
查看>>