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:
- 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.
- 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. - 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 № 1Sieht 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.