Docker usb hotplug - PullRequest
       80

Docker usb hotplug

0 голосов
/ 25 февраля 2020

Я пытаюсь заставить горячее подключение работать под Docker внутри nodejs.

Моё nodejs тестовое приложение:

// @ts-ignore
import usb from 'usb';

(async () => {
    usb.on('attach', (device: any) => console.log("attache"));
    usb.on('detach', (device: any) => console.log("detach"));
})();

Мой контейнер с тестовым пакетом:

sudo docker run --rm -it --entrypoint bash -v /dev:/dev -v /var/run/udev:/var/run/udev -v $(pwd)/workdir:/app --privileged ubuntu:latest

Для того, чтобы все заработало, требуется еще несколько пакетов (сейчас для скрипта bash в конце игры должен быть Dockerfile)

#!/bin/bash
apt update && apt-get install -y ca-certificates curl curl build-essential libgphoto2-dev libcups2-dev udev libudev-dev
curl -sL https://deb.nodesource.com/setup_13.x | bash -
apt -y install nodejs
npm i -g ts-node typescript

Чтобы все настроить временно.

Как есть, если я запускаю udevadm monitor a get events et c. Но если я запускаю свой тестовый сценарий, никакие события не принимаются.

Также, если я запускаю мое тестовое приложение за пределами docker, все работает как положено.

Кто-нибудь пробовал это раньше?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...