可以在docker容器中使用蓝牙(在我的例子中是BLE)加密狗吗?
在我的主机上:
$ hcitool dev
Devices:
hci0 5C:F3:70:64:F0:11
在Docker内部,它找不到任何东西。我运行Docker的方式是:
sudo docker run --privileged -i -t ubuntu /bin/bash
我对Linux中的蓝牙子系统知之甚少,无法理解主机和docker之间的区别。
hci0
设备在两个系统中都显示:
$ ls -l /sys/class/bluetooth
lrwxrwxrwx 1 root root 0 Mar 5 01:23 hci0 -> ../../devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-2/2-2.3/2-2.3:1.0/bluetooth/hci0
有人尝试在Docker中使用蓝牙吗?
发布于 2016-04-26 20:50:45
试试这个:
sudo docker run --net=host --privileged -i -t ubuntu /bin/bash
发布于 2019-08-12 04:05:27
如果您想从docker运行bluez
(而不仅仅是暴露hci
适配器),您需要:
要使用sudo docker run --privileged -i -t your_image_name /bin/bash
bluez
。在我的例子中,我添加了kill bluez
(killall -9 bluetoothd
) (并且没有正确地停止它,因为它会关闭我的蓝牙适配器,并且不会将它暴露在docker中)dbus
(/etc/init.d/dbus start
)和bluez
docker发布于 2020-09-30 03:55:34
我可以确认OlivierM写的东西在我身上起作用了。我花了一些时间在树莓派3B+和它的内置蓝牙。
Dockerfile:
FROM python:3.7
RUN apt-get update
RUN apt-get install -y bluez bluetooth
ENTRYPOINT sh docker_entrypoint.sh
和入口点:
#!/bin/bash
service dbus start
bluetoothd &
/bin/bash
在启动容器之前,需要在宿主机上安装sudo killall -9 bluetoothd
:
docker run --rm --net=host --privileged -it myimage:mytag
https://stackoverflow.com/questions/28868393
复制相似问题