目录
参考文档:Volumes | Docker Documentation
什么是卷(volume)?
什么是挂载,它的作用是什么?
一台机器里的多个容器之间共享数据(使用挂载)
首先我们可以使用最简单的docker cp命令复制文件给容器,来实现跟挂载相似的功能
docker容器挂载文件的命令
docker容器挂载卷(volume)的命令
多台机器之间共享数据(NFS挂载的使用)
可查看参考文档:(45条消息) 搭建NFS服务器_Claylpf的博客-CSDN博客
然后可以直接使用docker容器的卷直接挂载nfs服务器
在容器化应用程序开发和部署过程中,卷(Volume)是一个非常常见的概念,它可以将主机文件系统或其他容器的文件系统挂载到容器内部的特定路径上,从而为容器提供额外的持久化存储。因此,容器里卷起到的作用主要有以下几个方面:
- 持久化存储:容器中的文件系统是短暂且易变的,当容器被删除后,容器内数据也会随之消失。而通过使用卷,可以将需要持久化的数据存储在卷中,从而保证数据的持久化。
- 数据共享:容器化应用程序通常由多个容器组成,这些容器需要分享数据或配置信息。通过使用卷,不同的容器之间可以共享相同的卷,从而实现数据共享。
- 数据备份:通过使用卷,可以将数据备份到独立的存储设备中,例如网络附加存储(NAS)或云存储等。这有助于防止数据丢失、数据损坏或其他故障,提高了数据的可靠性。
总的来说,卷是容器化应用程序中提供持久化存储和数据共享的关键组件之一,可以提高应用程序的稳定性和可靠性,同时也有助于简化应用程序的开发和管理。
我们可以通过docker inspect查看每个容器对应的卷(volume)(mysq会自带卷,nginx不会,需要我们挂载卷)
讯享网
在计算机中,挂载(Mount)通常指将一个文件系统(如硬盘分区、光盘或NFS共享)连接到另一个系统的目录树上,使得该文件系统中的文件和目录可以被访问。具体来说,挂载可以将文件系统加入到Linux中的虚拟文件系统树中,使得用户可以使用标准的文件操作命令(如ls、cp、mv等)来访问文件系统中的数据。
在实际应用中,挂载的作用有以下几个方面:
- 扩展文件系统:通过将新的文件系统挂载到现有的目录中,可以扩展现有文件系统的容量。
- 访问远程文件系统:通过挂载远程文件系统,例如NFS、CIFS/SMB文件共享,可以在本地计算机**问位于远程计算机上的文件。
- 分离文件系统:通过挂载和卸载文件系统,可以将不同的文件系统隔离开来,以便于管理和维护,也可以帮助隔离不同的应用程序或用户之间的文件系统。
- 简化文件管理:通过挂载,可以将不同的文件系统组织成一个逻辑文件树,并可以使用标准文件操作命令来访问其中的所有文件和目录,简化了文件管理操作。
总的来说,挂载是计算机中一个非常常见的操作,它可以将不同的文件系统组织成一个逻辑文件树,并将它们与应用程序所使用的目录进行连接,扩展了文件系统的存储能力,并且使得用户可以通过统一的界面来管理和访问文件系统中的数据。
讯享网
即可实现跟挂载一样的部分功能

但是它缺少了跟挂载一样的同步功能,当我改变外面的文件时,容器内文件并不会发生同步
因此我们需要使用真正的挂载功能
-v 指定宿主机里的文件挂载到容器里的路径
功能展示

下面我们进行卷volume的创建
讯享网
我们在卷里创建一个html文件,用于挂载使用
对卷进行挂载
讯享网
查看效果

成功完成对卷的挂载
当然其他的容器,也可以挂载相同的卷,一个卷可以跟无数的容器挂载,因此可以使不同的容器看到一样的东西,实现了数据的共享
当然我们可以使用--mount来挂载文件

使用NFS服务
实验规划图

当我们搭建好了 nfs 服务器
我们需要在宿主机host上也下载好 nfs 服务




最后对docker容器挂载卷即可


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/208203.html