권한이 없고 호스트가 아닌 네트워크 모드의 도커에서 hcitool lescan(블루투스 LE 또는 모든 블루투스 스캔)을 사용할 수 있습니까?

권한이 없고 호스트가 아닌 네트워크 모드의 도커에서 hcitool lescan(블루투스 LE 또는 모든 블루투스 스캔)을 사용할 수 있습니까?

특정 작업의 경우,권한이 없고 호스트가 아닌 네트워크 모드의 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

다음에 블루투스 서비스를 시작하는 것에 대해 생각해보세요. 도움이 될 만한 단서가 있는 사람이 있다면.

관련 정보