linux怎么查看本机内存大小
281
2022-10-22
Docker教程小白实操入门(18)--如何挂载和共享数据卷
一、需求
容器和本地主机之间如何挂载和共享数据卷
二、挂载数据卷
数据卷的内容保存在/var/lib/docker/volume/数据卷名/_data/中,数据卷的内容会和容器的挂载点始终保持一致。
“数据卷名”可以用户指定,如果不指定,就会随机生成一个“数据卷名”。
三、挂载宿主机目录
# 将宿主机的/host/dir挂载到了容器的/container/dir目录docker run --name vocotainer1 -v /host/dir:/container/dir ubuntu
宿主机的目录和容器的目录必须使用绝对路径。
如果宿主机不存在/host/dir目录,则会创建一个空文件夹。
在/host/dir下的所有文件和文件夹都可以在容器中在/container/dir下被访问。
如果镜像中本来就存在/container/dir文件夹,那么该文件夹下所有内容都会被删除,保证与宿主机中文件夹一致。
三、同时创建多个数据卷
# 创建了两个数据卷docker run --name vocotainer2 -v co2vo1:/data -v co21vo2:/dir1 ubuntu
同理一次指定多个宿主机的目录挂载到容器中也是可行的。
四、与其他容器共享数据卷(--volumes-from)
# 创建了一个名为vocotainer3的容器,并与vocontainer1共享数据卷。# 因为vocontainer1的挂载点在/container/dir上,所以如果vocotainer3的挂载点也将会是/container/dirdocker run --name vocotainer3 -- volumes-from vocontainer1 ubuntu
通常如果有一些文件如果需要被多个容器共享,一种常见的做法就是创建一个数据容器(该容器仅仅用来共享数据而不做其他用途),其他容器与之共享数据卷
五、实例
#1.创建一个名为container1的容器,并将本地主机的/dir1目录挂载到容器中的/codir1中。#********** Begin *********#docker pull busyboxdocker run --name container1 -v /dir1:/codir1 busybox #********** End **********##2.创建一个名为container2的容器,与container1共享数据卷。#********** Begin *********#docker run --name container2 --volumes-from container1 busybox#********** End **********#
我们可以看到/var/lib/docker/volumes/下什么也没有,但是在主机下新建了/dir1/文件夹
参考:https://educoder.net/shixuns/pebvjtk9/challenges
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~