docker 容器中的 nbd-client 和 nbd-server:“无法解析 nbd netlink 系列”

docker 容器中的 nbd-client 和 nbd-server:“无法解析 nbd netlink 系列”

我正在尝试构建一个包含此 github 存储库的 docker 映像:https://github.com/javgh/sia-nbdserver

这是一个nbd-server,在本地缓存文件,然后将它们写入sia分布式存储网络。我modprobe nbd在主机上运行,​​现在尝试通过 /dev/nbd0 到容器,并使用容器内的 nbd-client 使用 unix 域套接字将主机写入设备的数据发送到 nbd-server。我可以在容器内看到 /dev/nbd0,nbd-server 已启动并正在侦听 /tmp/sia-nbdserver 的套接字,但是当我尝试运行时,# nbd-client -b 4096 -t 3600 -u /tmp/sia-nbdserver /dev/nbd0我得到Error: Couldn't resolve the nbd netlink family, make sure the nbd module is loaded and your nbd driver supports the netlink interface.

我正在运行容器--cap-add SYS-ADMIN--privileged因此权限不应该成为问题。

有任何想法吗?

答案1

使用如下命令运行容器:

docker run -it --rm --privileged --cap-add=ALL -v/dev:/dev -v/lib/modules:/lib/modules:ro image-id

并查看模块是否正确加载到容器内。

答案2

有同样的情况,通过添加解决--net=host

docker run -it --rm --privileged --cap-add=ALL --net=host -v/dev:/dev -v/lib/modules:/lib/modules:ro image-id

相关内容