我是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 到专用网络(