我是 docker 的新手。对于特定任务,
我无法在非特权和非主机网络模式下扫描 docker 中的 BLE/BlueZ。
这些是我的结果>(在 Debian-Jessie-8.8.0 主机和 debian:jessie docker 镜像中)
root1@73ab53a9268e:/# hciconfig -a
--> 无法打开 HCI 套接字。:不允许操作
和
root1@73ab53a9268e:/# bt-device -l
-->
无法连接到 DBus 系统总线:无法连接:连接被拒绝
另一张图片==>>
root2@0d208802d44a:/# hciconfig -a
--> 无法打开 HCI 套接字。:协议(protocol)不支持地址族
我什至为主机上的 docker 授予了 ALL-CAP 权限,但仍然无法成功。
docker run --name 容器 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 图像 ID
So, is it possible by any chance to scan BLE / BlueZ (say, hcitool, gatttool, btdevice-l, etc...) in docker under Non-Privileged & Non-Host network mode ?
最佳答案
通过添加--cap-add=SYS_ADMIN、--cap-add=NET_ADMIN和--net=host<在docker容器内成功启动DBus/蓝牙服务并扫描蓝牙设备/strong> 标志/权限
docker run --cap-add=SYS_ADMIN --cap-add=NET_ADMIN --net=host -it debian:jessie
(在没有--privileged模式的情况下成功)现在只想通过“不共享主机网络命名空间”来启动蓝牙服务(将--net=host自定义为私有(private)网络)
关于docker - hcitool lescan(BLE 或任何扫描,例如 hcitool、gatttool、btdevice-l 等...)在非特权和非主机网络模式下的 docker 中是否可能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47264193/