我正在尝试使用 Docker compose 设置由 TrueNAS 服务器共享的 NFS 卷,以便与我的 Docker 容器一起使用:
volumes:
data:
name: data
driver: local
driver_opts:
type: nfs
o: addr=[some_ip],rw,nfsvers=4
device: ":/Share/volumes/data/"
然而,在创建堆栈(docker-compose up -d
)时,Docker 会抛出错误:
ERROR: for web Cannot create container for service web: failed to copy file info for /var/lib/docker/volumes/data/_data: failed to chown /var/lib/docker/volumes/data/_data: lchown /var/lib/docker/volumes/data/_data: operation not permitted
:nocopy
现在,我可以挂载此共享并在 Docker 外部访问它 - 如果我在卷语句末尾添加标志,我就可以运行容器:
volumes:
- data:/some/dir #:nocopy
...但是数据似乎根本没有存储在 NFS 共享上。
我已经在网上阅读了使用该no_root_squash
标志的建议,但它似乎既不安全,又不易在 TrueNAS 系统中使用。
我真的很感谢一些解决这个问题的建议。
谢谢!