/ / Versuch, über Docker unter Windows auf Windows-Gerät zuzugreifen - Windows, Docker, Virtualbox

Versuchen, auf USB-Gerät von Docker in Windows zuzugreifen - Windows, Docker, Virtualbox

Ich konnte keine Anweisungen finden, wie dies genau geschehen kann, obwohl die Anweisungen HierObwohl sie von Mac OS X stammen, kommen sie ziemlich nahe.

Also versuche ich das unter Windows und hier habe ich das bisher gemacht:

  1. Aktualisierte Oracle VirtualBox auf 5.0.16 und installierte die Oracle VM VirtualBox Extensions PackDadurch kann die boot2docker VM über USB 2.0 auf mein Gerät zugreifen.
  2. Ausschalten der default virtuelle Maschine und ging zu Maschine> Einstellungen…> USB. Neuer USB-Filter hinzugefügt, indem Sie den Computer aus der Popup-Liste auswählen.
  3. Das Docker Quickstart Terminal wurde neu gestartet.

Die Sache ist, ich vermute, dass der Befehl zum Ausführen der VM-Instanz etwas wie folgt ist:

docker run --privileged -v <USB directory in host machine>:<USB directory in Docker container> ...

Das Problem ist, während es in Mac OS X zu sein scheint /dev/bus/usb, wo erscheint es in Windows? Ist es nicht derselbe Ort? /dev/ Verzeichnis scheint nicht zu haben /dev/usb/.

Habe ich einen Schritt verpasst? Befindet sich der USB-Gerätepfad an einer anderen Stelle für Windows?

Dies ist übrigens die Version von Docker, die ich beim Eingeben verwende docker -v:

Docker version 1.10.0, build 590d5108

Ich verwende derzeit auch Windows 7.

Antworten:

0 für die Antwort № 1

Sieht so aus, als würde man die Kugel beißen, obwohl man / dev / bus / usb nicht sieht und den folgenden Befehl eingibt:

docker run -it --privileged -v /dev/bus/usb:/dev/bus/usb ...

(In meinem Fall war es das docker run-it --privileged -v /dev/bus/usb:/dev/bus/usb -v (shared directory path):(path in container) debian:latest bash, aber Ihr Befehl wird anders sein, je nachdem, was Sie tun.

Auch wenn Sie an Android-Geräten arbeiten undWenn Sie im Bootloader weiterhin auf sie zugreifen möchten, müssen Sie in VirtualBox zwei Filter erstellen: einen für die Verwendung von ADB, den anderen für den Schnellstart.


0 für die Antwort № 2

Ich konnte dies auf einem Windows-Host mit Docker-Toolbox zum Laufen bringen, von dem ich annehme, dass das OP verwendet.

Stoppen Sie den boot2docker vm:

host:~$ docker-machine stop default

Öffnen Sie den Virtualbox Manager und fügen Sie nach Bedarf USB-Filter hinzu.

Starten Sie den boot2docker vm:

host:~$ docker-machine start default

Da die USB-Geräte an die boot2docker-VM angeschlossen sind, müssen die Befehle von diesem Computer aus ausgeführt werden. Öffnen Sie ein Terminal mit der VM und führen Sie den Docker-Run-Befehl aus:

host:~$ docker-machine ssh
docker@default:~$ docker run -it --privileged ubuntu bash

Wenn der Docker-Container mit USB-Geräten funktionieren soll, die nach dem Starten des Containers angeschlossen sind, können Sie Folgendes verwenden:

docker@default:~$ docker run -it --privileged -v /dev:/dev ubuntu bash

Die meisten anderen Beispiele, die ich sehe, verwenden -v /dev/bus/usb:/dev/bus/usb was nur für bestimmte USB-Geräte funktioniert. Musste ich verwenden /dev für eine Anwendung, die erstellt wurde /dev/sg2 wenn der USB-Port eingesteckt ist.

Beachten Sie die Flaggen -it werden hier nur als Beispiel benötigt, damit Sie ein Bash-Terminal in einen Ubuntu-Container bekommen. Sie sind nicht erforderlich, damit dies funktioniert.