【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

相关文章
|
Kubernetes 关系型数据库 文件存储
手把手教你完成极空间 NAS Docker 镜像加速配置
本教程详细介绍了如何在极空间NAS上配置轩辕镜像加速器,以提升Docker镜像的下载速度与稳定性。内容涵盖账号注册、网络确认、加速器设置及验证方法,并提供常见问题解决方案,帮助用户高效完成容器化应用部署。
4847 1
|
Prometheus 监控 Cloud Native
Prometheus配置docker采集器
本文介绍了如何使用 Prometheus 监控 Docker 容器,涵盖环境准备、配置文件编写及服务启动等步骤。首先确保安装 Docker 和 Docker Compose,接着通过 `docker-compose.yml` 配置 Prometheus 和示例应用。创建 `prometheus.yml` 指定数据采集目标,最后用 `docker-compose up -d` 启动服务。文章还展示了甘特图和类图,帮助理解服务状态与关系,助力提升系统可靠性和可维护性。
742 11
|
文件存储 数据安全/隐私保护 开发者
群晖NAS Docker镜像源加速配置教程
本教程介绍了群晖NAS用户如何通过配置轩辕镜像加速服务提升Docker镜像拉取速度。内容包括配置前准备、详细设置步骤及日常使用说明,帮助用户快速完成配置并享受高效稳定的镜像下载体验。
6891 60
|
Docker 容器 文件存储
飞牛fnOS Docker镜像加速配置全攻略
本文介绍了如何在飞牛fnOS中配置Docker镜像加速服务,通过设置轩辕镜像仓库加速器,提升镜像拉取速度与稳定性。内容涵盖配置前准备、加速源设置、首选加速源调整及使用指南,帮助用户高效完成镜像操作。
8438 56
|
Java 分布式数据库 Docker
使用Docker配置并连接HBase的Java API
本流程概要的解释了如何在Docker上配置并启动HBase服务,并通过Java API进行连接和操作表,不涉及具体的业务逻辑处理和数据模型设计,这些因应用而异需由开发者根据实际需求进行实现。
573 13
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
1907 4
|
关系型数据库 Docker 容器
深入理解Docker Volume(一)
本文讲的是深入理解Docker Volume(一),【编者的话】本文主要介绍了Docker Volume的原理以及使用方式,是Docker入门教程的延伸。作者通过从数据的共享、数据容器、备份、权限以及删除Volume五方面深入介绍了Volume的工作原理,从实战中帮助读者了解Volume。
2674 0
|
Docker 容器 Android开发
深入理解Docker Volume(二)
本文讲的是深入理解Docker Volume(二),【编者的话】继上一篇文章深入理解Docker Volume(一)后,DockerOne翻译了深入理解Volume的第二篇文章。本文重点介绍了两种创建Volume方式的异同以及使用docker run命令创建Volume时,指定主机目录与不指定主机目录的区别。
1787 0

热门文章

最新文章