権限がなく、ホスト以外のネットワークモードのドッカーでhcitool lescan(Bluetooth LEまたはすべてのBluetoothスキャン)を使用できますか?

権限がなく、ホスト以外のネットワークモードのドッカーでhcitool lescan(Bluetooth LEまたはすべてのBluetoothスキャン)を使用できますか?

特定のタスクでは、権限がなく、ホスト以外のネットワークモードのDocker(hcitool、、、)からBLE / BlueZを取得できません。gatttoolbtdevice-l

私の結果は次のとおりです( Debian-Jessie-8.8.0 Host debian:jessie docker image)。

 root1@73ab53a9268e:/# hciconfig -a
 Can't open HCI socket.: Operation not permitted

 root1@73ab53a9268e:/# bt-device -l
 Couldn't connect to DBus system bus: Could not connect: Connection refused

他の写真から:

root2@0d208802d44a:/# hciconfig -a
Can't open HCI socket.: Address family not supported by protocol

ホストのDockerにALL-CAP権限も付与しましたが、まだ実行できません。

docker run --name container-ID --cap-add=ALL -d -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro Image-ID

それでは、権限のない非ホストネットワークモードのDockerでBLE / BlueZを検索できますか?

答え1

戦いの半分:

Dockerコミュニティの助けを借りて、以下のようにDockerにログインし、DockerコンテナでDBusサービスを正常に起動しました。

docker run -v /opt/bluetooth:/var/lib/bluetooth -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /tmp/$(mktemp -d):/run -it debian:jessie

次にBluetoothサービスを開始することを考えてみましょう。役に立つ手がかりがある人がいたら。

関連情報