当我尝试 运行 带有 NFS 卷的 Docker 容器时收到 "connection refused"

Receive "connection refused" when I try to run a Docker Container with NFS Volume

我正在使用 NFS 卷。 我创建了一个 NFS 服务器,并在我的 rasberry pi 上设置了客户端,如果我挂载了暴露的目录,我可以看到内容,这意味着配置有效。

我的目标是使用以下命令创建卷:

 sudo docker volume create --driver local \
    --opt type=nfs \
    --opt o=addr=10.0.0.5,rw \
    --opt device=:/export/users/reddata \
    foo

正如我在文档中看到的那样,创建了一个 NFS 卷。 我的问题如下,当我 运行 容器时:

sudo docker run -it -p 1880:1880 -v foo:/data --name mynodered -d nodered/node-red

我收到以下错误:

docker: Error response from daemon: failed to mount local volume: mount :/export/users/reddata:/var/lib/docker/volumes/foo/_data, data: addr=10.0.0.5: connection refused.
See 'docker run --help'.

我认为它未经授权,但我也认为我可以将我的共享目录挂载到我的 pi 上,之前的配置应该有效。

你有什么想法吗?

感谢您的宝贵时间

亚历山德罗

我解决了这个问题。 问题是创建卷的方式,正确的方式是:

sudo docker volume create --driver local \
--opt type=nfs \
--opt o=addr=10.0.0.5,nfsvers=4 \
--opt device=:/export/users/reddata \
foo

需要指定nfsvers=4。

另一个重要的配置,在我的例子中,没有必要监督访问我的文件夹的主机,在我的服务器中 /etc/exports 它如下:

export/users/reddata *(rw,sync,no_subtree_check,不安全)

使用 *,我指定了网络上的所有 IP。

此致

亚历山德罗