hcitool lescan(BLE或任何扫描,比如说,hcitool,gatttool,btdevice-l等等)在非特权& amp;可以使用非主机网络模式吗?

时间:2017-11-13 12:16:43

标签: docker bluetooth-lowenergy bluez

我是码头工人的新手。对于特定任务,

我无法在非特权& amp;非主机网络模式。 这些是我的结果> (在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

我甚至在Host上为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

  

那么,是否有可能在非特权& amp;& amp; amp; amp; amp; amp; amp; amp; amp; amp;非主机网络模式?

1 个答案:

答案 0 :(得分:0)

几乎完成......!

在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

然后通过添加 - cap-add = SYS_ADMIN - net = host 权限,可以启动蓝牙服务。

docker run --cap-add=SYS_ADMIN -v /opt/bluetooth:/var/lib/bluetooth -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /tmp/$(mktemp -d):/run --net=host -it debian:jessie

现在只想通过“不共享主机网络命名空间”(自定义--net =主机到专用网络)来启动蓝牙服务

如果有人得到任何线索,那将会有所帮助。