【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

相关文章
|
1月前
|
存储 Linux Docker
使用Docker存储驱动
【10月更文挑战第9天】
17 3
|
1月前
|
存储 Kubernetes Docker
|
1月前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
105 1
|
2月前
|
应用服务中间件 Docker 容器
docker应用部署---Tomcat的部署配置
这篇文章介绍了如何使用Docker部署Tomcat服务器,包括搜索和拉取Tomcat镜像、创建容器并设置端口映射和目录映射,以及如何创建一个HTML页面并使用外部机器访问Tomcat服务器。
docker应用部署---Tomcat的部署配置
|
1月前
|
网络协议 Docker 容器
docker中的DNS配置
【10月更文挑战第5天】
303 1
|
1月前
|
存储 Ubuntu JavaScript
如何使用Docker优化你的开发环境配置
如何使用Docker优化你的开发环境配置
|
1月前
|
Docker 容器
利用Docker Compose优化开发环境的配置
在现代软件开发中,环境一致性至关重要。开发人员常需在不同机器间复制环境配置,而Docker Compose提供了一种简便有效的方法来定义和运行多容器Docker应用程序,确保开发、测试和生产环境一致,简化团队协作,提高开发效率。通过YAML文件配置服务、网络和卷,使用简单命令即可启动和停止服务。本文将介绍Docker Compose的核心优势、基本使用方法及高级功能,帮助你更好地管理和优化开发环境。
|
2月前
|
应用服务中间件 nginx Docker
docker应用部署---nginx部署的配置
这篇文章介绍了如何使用Docker部署Nginx服务器,包括搜索和拉取Nginx镜像、创建容器并设置端口映射和目录映射,以及如何创建一个测试页面并使用外部机器访问Nginx服务器。
|
1月前
|
存储 应用服务中间件 nginx
Docker系列-5种方案超详细讲解docker数据存储持久化(volume,bind mounts,NFS等)
Docker系列-5种方案超详细讲解docker数据存储持久化(volume,bind mounts,NFS等)
|
存储 jenkins 持续交付
Docker Volume 之权限管理(转)
Volume数据卷是Docker的一个重要概念。数据卷是可供一个或多个容器使用的特殊目录,可以为容器应用存储提供有价值的特性: 持久化数据与容器的生命周期解耦:在容器删除之后数据卷中的内容可以保持。
2402 0