【Docker】 Volume存储配置-阿里云开发者社区

开发者社区> 嚯嚯嚯www> 正文

【Docker】 Volume存储配置

简介: 对于容器来说,持久化存储十分重要,各种集群提供了不同的存储配置
+关注继续查看

volume 默认模式:工作节点宿主机数据同步到容器内。 l

volume NFS 共享存储模式:管理节点宿主同步到工作节点宿主,工作节点宿主同步到容器。

volume 默认模式

直接创建命令,创建名为web-file

[root@master ~]# docker volume create web-file

#web-file的本地挂载点在/var/lib/docker/volumes/web-file/_data/

image.png

 

启动一个nginx的容器,将web-file映射nginx默认目录

[root@master ~]# docker run -it -d --name web -v web-file:/usr/share/nginx/html nginx
7050ae4941a6c57431d61a3f3c2ef722ae86daf1966de4f55caa26b78a6e9fa6

 

测试

进入本地挂载目录/var/lib/docker/volumes/web-file/_data/

此时容器内的目录已经同步在挂载点目录了,

重新写入测试内容到默认网页

image.png

网页访问

image.png


volume NFS 共享存储模式

master配置NFS共享目录

[root@master ~]# yum -y install nfs-utils
[root@master ~]# mkdir /share
[root@master ~]# chmod 777 /share/
[root@master ~]# vim /etc/exports
/share 192.168.1.0/24(rw,sync)
[root@master ~]# exportfs -rv
exporting 192.168.1.0/24:/share
[root@master ~]# systemctl restart rpcbind
[root@master ~]# systemctl enable rpcbind
[root@master ~]# systemctl restart nfs
[root@master ~]# systemctl enable nfs

 

node节点安装nfs

[root@node ~]# yum -y install nfs-utils
[root@node ~]# systemctl restart rpcbind
[root@node ~]# systemctl enable rpcbind
[root@node ~]# systemctl restart nfs
[root@node ~]# systemctl enable nfs

 

创建volume,将本地目录/share挂载,名称为test-home

[root@master ~]# docker volume create --driver local --opt type=nfs –opt o=addr=192.168.1.10,rw --opt device=:/share test-home

image.png

 

 

在集群中创建nginx服务,端口映射到外部8888,挂载卷到nginx默认网页目录,创建3台副本。

[root@master ~]# docker service create --name test-nginx --publish 8888:80 --mount type=volume,source=test-home,destination=/usr/share/nginx/html --replicas 3 nginx
qc82k52h4kvm8i4ewirtfq0xw
overall progress: 3 out of 3 tasks 
1/3: running  [==================================================>] 
2/3: running  [==================================================>] 
3/3: running  [==================================================>] 
verify: Service converged

 

测试:

在外部/share目录中创建index.html网页

image.png

进入docker 服务器容器,查看文件,文件已经成功挂载

image.png

网页测试访问

image.jpeg

 

 

portainer可视化操作

安装了Portainer,以上操作都可以在网页控制台执行

进入Volume管理

此处已经显示了之前操作的volume

image.jpeg

 

点击create可创建

image.jpeg

 

勾选NFS volume 也可以进行共享存储模式添加挂载

image.jpeg

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
深入了解Docker存储驱动
本文讲的是深入了解Docker存储驱动【编者的话】本文深入探讨了Docker容器的存储驱动,内容包括graphdriver以及各个选项比如Vfs、Aufs、Overlay、Overlay2、Btrfs、ZFS、Devicemapper和Windows,还有具体如何选择的规则。
2681 0
Docker镜像的目录存储讲解
我们成功安装完docker后,执行命令行sudo docker run hello-world, 如果是第一次执行,则会从远程拉取hello-world的镜像到本地,然后运行,显示hello world。
2365 0
Docker的安装,配置,更新和卸载
版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/51226700 在Linux中开启Docker引擎 我们可以在Linux中安装Docker并运行Hello world应用程序。
1338 0
+关注
25
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载