Docker NFS volume创建与使用方式

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/

1. 简介

Docker 卷是为Docker 容器设置持久存储的首选机制。

卷是安装在容器内的主机文件系统上的现有目录。

它们可以从容器和主机系统访问。

Docker 还允许用户挂载通过 NFS 远程文件共享系统共享的目录。

为此目的创建的卷使用 Docker 自己的 NFS 驱动程序,无需在主机系统上挂载 NFS 目录。

2. 创建 NFS Docker 卷

创建和管理 Docker 卷的最简单方法是使用docker volume命令及其子命令。

创建 NFS Docker 卷的语法包括两个选项。

该–driver选项定义了local卷驱动程序,它接受类似于mount Linux 中的命令的选项。–opt多次调用该选项以提供有关卷的更多详细信息。

详细信息包括:

volume typewrite mode远程 NFS 服务器的 IP 或 Web 地址服务器上共享目录的路径 docker volume create –driver local –opt type=nfs –opt o=addr=[ip-address],rw –opt device=:[path-to-directory] [volume-name]

下面的示例说明了如何创建一个名为nfs-volume. 该卷包含/mnt/nfsdir位于服务器上的目录,具有rw(读/写)权限。服务器的 IP 地址是10.240.12.70。

Docker NFS volume创建与使用方式插图

列出可用的 Docker 卷。

docker volume ls

Docker NFS volume创建与使用方式插图1

Docker NFS volume创建与使用方式插图2

3. 在容器中挂载 NFS

要将 NFS 卷挂载到容器中,请nfs-common在主机系统上安装软件包。

sudo apt update sudo apt install nfs-common

注意:如果使用 YUM 或 RPM 进行包管理,则 NFS 客户端包称为nfs-utils

使用docker run 命令启动容器。在该部分中指定 NFS 卷和安装点–mount。

docker run -d -it –name [container-name] –mount source=[volume-name],target=[mount-point] [image-name]

Docker NFS volume创建与使用方式插图3

docker inspect [container-name]

Docker NFS volume创建与使用方式插图4

docker exec -it [container-name] ls /mnt

4. Docker Compose 挂载 NFS 卷

如果您使用Docker Compose来管理您的容器,请通过在 YML 文件中定义来挂载 NFS 卷。

创建 docker-compose.yml 文件。

version: “3.2” services: [service-name]: image: [docker-image] ports: – “[port]:[port]” volumes: – type: volume source: [volume-name] target: /nfs volume: nocopy: true volumes: [volume-name]: driver_opts: type: “nfs” o: “addr=[ip-address],nolock,soft,rw” device: “:[path-to-directory]”

注意:

nolock和soft选项确保 Docker 在与 NFS 服务器的连接丢失时不会冻结( freeze)

参考:

NFS Docker Volumes: How to Create and Use

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容