
d3fk/nfs-clientd3fk/nfs-client是一个轻量级多架构Docker NFS客户端镜像,基于Alpine构建,旨在为容器环境或主机系统提供NFS共享挂载能力。该镜像支持NFS 3和NFS 4协议(通过标签和环境变量配置),兼容数据库(如MariaDB、MySQL)等对文件系统稳定性要求较高的应用场景,可灵活用于手动或自动挂载NFS共享,尤其适合小型操作系统或容器化环境中补充NFS客户端功能。
latest标签)和NFS 4(v4标签),可通过环境变量切换其他文件系统类型(如cifs、ext4等)。--net=host模式在主机网络中提供NFS客户端能力,补充小型操作系统的NFS功能。| 标签 | 描述 | 默认NFS版本 | 默认FSTYPE | 默认MOUNT_OPTIONS |
|---|---|---|---|---|
latest | 历史标签,默认配置为NFS 3,支持通过环境变量切换至NFS 4或其他文件系统 | NFS 3 | nfs | nfsvers=3 |
v4 | 开箱即用的NFS 4客户端,仍可通过环境变量修改配置 | NFS 4 | nfs4 | nfsvers=4 |
| 变量名 | 描述 | 默认值(latest标签) | 默认值(v4标签) |
|---|---|---|---|
SERVER | NFS服务器的主机名或IP地址 | 无(手动挂载时可不设置) | 无 |
SHARE | NFS服务器上的共享路径(如/shared_data) | 无(手动挂载时可不设置) | 无 |
MOUNT_OPTIONS | 挂载NFS共享时的选项(如nfsvers=3,rw) | nfsvers=3 | nfsvers=4 |
FSTYPE | 文件系统类型(支持nfs、nfs4、cifs等) | nfs | nfs4 |
MOUNTPOINT | 容器内NFS共享的挂载点路径 | /mnt/nfs-1 | /mnt/nfs-1 |
--privileged=true)运行,以允许挂载操作。--net=host网络模式。适用于需要在主机上灵活挂载多个NFS共享的场景,无需预先设置SERVER和SHARE。
启动nfs-client容器:
bashdocker run -itd --privileged=true --net=host --name nfs-client d3fk/nfs-client
在主机上执行挂载命令:
bashsudo mount -t nfs <NFS_SERVER_IP>:/<SHARED_PATH> <主机挂载点>
示例(挂载服务器192.168.1.100的/data到主机/mnt/host_nfs):
bashsudo mount -t nfs 192.168.1.100:/data /mnt/host_nfs
通过环境变量自动挂载NFS共享到容器,并可通过卷共享给其他容器。
bashdocker run -itd \ --privileged=true \ --net=host \ --name nfs-client \ -e SERVER=192.168.1.100 \ # NFS服务器IP -e SHARE=/data \ # NFS共享路径 d3fk/nfs-client
通过卷将容器内的NFS挂载点共享给主机或其他容器,需添加--volume参数并指定:shared选项(允许卷被多容器共享)。
bashdocker run -itd \ --privileged=true \ --net=host \ --name nfs-client \ -v /mnt/host_shared:/mnt/nfs-1:shared \ # 主机路径:容器挂载点:shared -e SERVER=192.168.1.100 \ -e SHARE=/data \ -e MOUNT_OPTIONS="nfsvers=3,rw" \ # 自定义挂载选项(如读写权限) d3fk/nfs-client:latest
其他容器使用共享卷:
通过--volume-from复用nfs-client容器的卷:
bashdocker run -itd \ --name app-container \ --volume-from nfs-client \ # 共享nfs-client的卷 nginx # 示例应用(如Nginx、数据库等)
通过RancherOS的cloud-config配置,在系统启动时自动部署nfs-client容器,实现NFS客户端能力的持久化。
cloud-config.yml)yaml#cloud-config rancher: services: nfs-client: image: d3fk/nfs-client:latest privileged: true net: host volumes: - /mnt/rancher_nfs:/mnt/nfs-1:shared environment: - SERVER=192.168.1.100 - SHARE=/data - MOUNT_OPTIONS=nfsvers=3,rw restart: always
将上述配置添加到RancherOS的启动配置文件(如user-config.yml或cloud-config.yml),系统启动时会自动运行nfs-client容器,并挂载NFS共享。
本镜像基于MIT许可证开源,详见GitHub仓库。
textThe MIT License (MIT) Copyright (c) 2015 Evey Quirk, Chris Fordham, 2016 d3fk Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.






manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务