このGithubリポジトリを含むDockerイメージをビルドしようとしています。https://github.com/javgh/sia-nbdserver
これは、ファイルをローカルにキャッシュしてからSIA分散ストレージネットワークに書き込むnbdサーバーです。ホスト上で実行されており、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