hcitool lescan (BLE 或任何扫描,比如 hcitool、gatttool、btdevice-l 等)在 docker 中的非特权和非主机网络模式下是可能的吗?



我是docker的新手。对于特定任务,

我无法在非特权和非主机网络模式下在 docker 中扫描 BLE/BlueZ。这些是我>的结果(在Debian-Jessie-8.8.0主机和debian:jessie docker镜像中( 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(例如,hcitool、gatttool、btdevice-l 等(?

在 docker 容器内成功启动 DBus/蓝牙服务,并通过添加 --cap-add=SYS_ADMIN、--cap-add=NET_ADMIN 和 --net=host flags/permission 来扫描蓝牙设备

docker run --cap-add=SYS_ADMIN --cap-add=NET_ADMIN --net=host -it debian:jessie

(在没有 --

特权模式的情况下成功(现在只想通过"不共享主机网络命名空间"来启动蓝牙服务(自定义 --net=host 到专用网络(

最新更新