首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从Docker内部访问蓝牙加密狗?

从Docker内部访问蓝牙加密狗?
EN

Stack Overflow用户
提问于 2015-03-05 09:26:02
回答 4查看 26.5K关注 0票数 12

可以在docker容器中使用蓝牙(在我的例子中是BLE)加密狗吗?

在我的主机上:

代码语言:javascript
运行
复制
$ hcitool dev
    Devices:
       hci0   5C:F3:70:64:F0:11

在Docker内部,它找不到任何东西。我运行Docker的方式是:

代码语言:javascript
运行
复制
sudo docker run --privileged -i -t ubuntu /bin/bash

我对Linux中的蓝牙子系统知之甚少,无法理解主机和docker之间的区别。

hci0设备在两个系统中都显示:

代码语言:javascript
运行
复制
$ 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中使用蓝牙吗?

EN

回答 4

Stack Overflow用户

发布于 2016-04-26 20:50:45

试试这个:

代码语言:javascript
运行
复制
sudo docker run --net=host --privileged -i -t ubuntu /bin/bash
票数 8
EN

Stack Overflow用户

发布于 2019-08-12 04:05:27

如果您想从docker运行bluez (而不仅仅是暴露hci适配器),您需要:

要使用sudo docker run --privileged -i -t your_image_name /bin/bash

  • Make启动坞站,请使用
  • 确保主机上未运行bluez。在我的例子中,我添加了kill bluez (killall -9 bluetoothd) (并且没有正确地停止它,因为它会关闭我的蓝牙适配器,并且不会将它暴露在docker中)
  • 在您的docker入口点中,您将需要启动dbus (/etc/init.d/dbus start)和bluez docker
票数 7
EN

Stack Overflow用户

发布于 2020-09-30 03:55:34

我可以确认OlivierM写的东西在我身上起作用了。我花了一些时间在树莓派3B+和它的内置蓝牙。

Dockerfile:

代码语言:javascript
运行
复制
FROM python:3.7

RUN apt-get update

RUN apt-get install -y bluez bluetooth

ENTRYPOINT sh docker_entrypoint.sh

和入口点:

代码语言:javascript
运行
复制
#!/bin/bash

service dbus start
bluetoothd &

/bin/bash

在启动容器之前,需要在宿主机上安装sudo killall -9 bluetoothd

代码语言:javascript
运行
复制
docker run --rm --net=host --privileged -it myimage:mytag
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28868393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档