
nfs-server-alpine是一个轻量级NFS服务器镜像,基于Alpine Linux构建,仅支持NFS v4协议,通过TCP 2049端口提供服务。Alpine Linux是一个面向安全、轻量级的Linux发行版,确保镜像体积小且资源占用低。当前版本包含rpcbind以解决启动缓慢问题(理论上NFS v4无需rpcbind)。
运行容器时,通过环境变量SHARED_DIRECTORY指定的目录将作为NFS v4共享目录对外提供服务。
fsid=0参数)bashdocker run -d --name nfs --privileged -v /some/where/fileshare:/nfsshare -e SHARED_DIRECTORY=/nfsshare d0whc3r/nfs-server-alpine:latest
--net=host或-p 2049:2049映射端口| 环境变量 | 说明 | 默认值 |
|---|---|---|
SHARED_DIRECTORY | 指定共享根目录 | 无(必须设置) |
READ_ONLY | 设为任意值时共享目录为只读模式 | rw(读写) |
SYNC | 设为true时启用同步模式(数据立即写入磁盘) | async(异步) |
PERMITTED | 限制允许访问的客户端IP(支持通配符) | *(所有客户端) |
基本挂载
bashsudo mount -v 10.11.12.101:/ /some/where/here
显式指定NFS版本
bashsudo mount -v -o vers=4,loud 10.11.12.101:/ /some/where/here
卸载
bashsudo umount /some/where/here
NFS服务需要特定权限,推荐使用--privileged模式运行。若需更精细的权限控制,可尝试:
bash--cap-add SYS_ADMIN --cap-add SETPCAP --security-opt=no-new-privileges
Kubernetes配置
yamlspec: containers: - name: nfs-server image: d0whc3r/nfs-server-alpine:latest securityContext: privileged: true # 或使用capabilities配置 # capabilities: # add: ["SYS_ADMIN", "SETPCAP"]
Docker Compose配置
yamlversion: '3' services: nfs: image: d0whc3r/nfs-server-alpine:latest privileged: true # 或使用cap_add # cap_add: # - SYS_ADMIN # - SETPCAP volumes: - /some/where/fileshare:/nfsshare environment: - SHARED_DIRECTORY=/nfsshare
RancherOS
需启用内核头文件服务:
bashsudo ros service enable kernel-headers sudo ros service up kernel-headers
或在cloud-config.yml中添加:
yaml#cloud-config rancher: services_include: kernel-headers: true
OverlayFS注意事项
OverlayFS不支持NFS导出,需挂载ext4文件系统目录(如RancherOS的/home、/media或/mnt)。
其他操作系统
确保加载NFS内核模块:
bashmodprobe nfs nfsd
bashdocker run -d --name nfs --privileged \ -v /some/where/fileshare:/nfsshare \ -v /some/where/else:/nfsshare/another \ -e SHARED_DIRECTORY=/nfsshare \ -e SHARED_DIRECTORY_2=/nfsshare/another \ d0whc3r/nfs-server-alpine:latest
nfsd.sh添加额外共享配置(容器内):bashif [ ! -z "${SHARED_DIRECTORY_2}" ]; then echo "Writing SHARED_DIRECTORY_2 to /etc/exports file" echo "{{SHARED_DIRECTORY_2}} {{PERMITTED}}({{READ_ONLY}},{{SYNC}},no_subtree_check,no_auth_nlm,insecure,no_root_squash)" >> /etc/exports /bin/sed -i "s@{{SHARED_DIRECTORY_2}}@${SHARED_DIRECTORY_2}@g" /etc/exports fi
bashsudo mount -v 10.11.12.101:/ /mnt/one # 根共享 sudo mount -v 10.11.12.101:/another /mnt/two # 子目录共享
Writing SHARED_DIRECTORY to /etc/exports file The PERMITTED environment variable is unset or null, defaulting to '*'. This means any client can mount. The READ_ONLY environment variable is unset or null, defaulting to 'rw'. Clients have read/write access. The SYNC environment variable is unset or null, defaulting to 'async' mode. Writes will not be immediately written to disk. Displaying /etc/exports contents: /nfsshare *(rw,fsid=0,async,no_subtree_check,no_auth_nlm,insecure,no_root_squash) Starting rpcbind... Displaying rpcbind status... program version netid address service owner 100000 4 tcp6 ::.0.111 - superuser 100000 3 tcp6 ::.0.111 - superuser 100000 4 udp6 ::.0.111 - superuser 100000 3 udp6 ::.0.111 - superuser 100000 4 tcp 0.0.0.0.0.111 - superuser 100000 3 tcp 0.0.0.0.0.111 - superuser 100000 2 tcp 0.0.0.0.0.111 - superuser 100000 4 udp 0.0.0.0.0.111 - superuser 100000 3 udp 0.0.0.0.0.111 - superuser 100000 2 udp 0.0.0.0.0.111 - superuser 100000 4 local /var/run/rpcbind.sock - superuser 100000 3 local /var/run/rpcbind.sock - superuser Starting NFS in the background... rpc.nfsd: knfsd is currently down rpc.nfsd: Writing version string to kernel: -2 -3 +4 rpc.nfsd: Created AF_INET TCP socket. rpc.nfsd: Created AF_INET6 TCP socket. Exporting File System... exporting *:/nfsshare /nfsshare <world> Starting Mountd in the background... Startup successful.
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。





探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务