我正在尝试建立一个码头形象,其中包含了这个github回购:https://github.com/javgh/sia-nbdserver
这是一个nbd服务器,它在本地缓存文件,然后将它们写入sia分布式存储网络。我在主机上运行了modprobe nbd,现在正在尝试将/dev/nbd 0传递给容器,并在容器中使用nbd-客户机来使用unix域套接字将主机写入设备的数据发送到nbd-服务器。我可以在容器中看到/dev/nbd 0,nbd-服务器已经启动,并侦听/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运行容器,所以权限不应该是一个问题。
有什么想法吗?
发布于 2022-01-04 18:37:08
使用以下内容运行容器:
docker run -it --rm --privileged --cap-add=ALL -v/dev:/dev -v/lib/modules:/lib/modules:ro image-id看看模块是否正确地装载在容器内。
发布于 2023-04-26 11:14:29
与此相同,通过添加--net=host解决了
docker run -it --rm --privileged --cap-add=ALL --net=host -v/dev:/dev -v/lib/modules:/lib/modules:ro image-idhttps://unix.stackexchange.com/questions/685016
复制相似问题