2016-08-04 49 views
1

Ich hoffe, dass ein Experte für Docker, der Windows benutzt, dies lesen kann, da ich das überhaupt nicht verstehe.Docker Windows mit hyper-v Beispiel baffles mich ?? Warum funktioniert das alpine Beispiel nicht so, wie ich es mir vorgestellt habe?

Ich installierte Docker auf meinem Windows 10-Rechner, keine vmware nur Hyper-v, alles funktioniert gut, bis ich versuchte, Volumes von meinem lokalen Rechner zu erstellen und sie in meinen Linux-Containern zu verwenden, das ist, wenn meine Probleme beginnen.

Innerhalb Docker ist ein Beispiel, um zu versuchen, um zu sehen, wie sie die Volumina arbeiten:

enter image description here

ich ein Verzeichnis in meinem Benutzerverzeichnis erstellt und eine einfache Datei nur etwas im alpinen Behälter zu sehen.

enter image description here

Aber wenn ich den folgenden Befehl ich keine Dateien im tim/Arbeitsverzeichnis erhalten?

enter image description here

auf der Erde Wo ist AFile.txt ???

Sorry, wenn ich ein bisschen dumm bin, aber ich habe Volumes auf Linux-Maschinen ohne Probleme erstellt und ich bekomme einfach nicht wo auf der Erde meine Dateien sind? Wie kann ich eine Windows-Maschine entwickeln und meinen Quellcode in meine Container holen, ohne Dockerfile-Kopien aller meiner Quelldateien im Container ausführen zu müssen?

Nur für weitere Verwirrung (wahrscheinlich meinerseits!), Aber wenn ich den gleichen Befehl ausführen und nur in den Steve Ordner schauen, kann ich den Arbeitsordner wie erwartet sehen, aber ich sehe auch einen Ordner namens work #? So ist der Arbeitsordner ist es (auch wenn ich es löschen ???)

enter image description here

Ich bin gerade wirklich wirklich verwirrt darüber, wie Volumes auf einem Windows-Rechner erstellen mit Hyper-V.

Vielen Dank im Voraus. P.S Wenn Sie irgendwelche Links haben, die Unterschiede zwischen dem Windows Hyper-V Docker und dem Linux Docker erklären, wäre ich auch sehr dankbar, da ich keine Dokumente finden kann, die Informationen über Windows mit nur Hyper-V und VMWare mischen.

Thanks again ...

Antwort

0

Ich ging gerade durch die gleiche Übung mit einer neuen Kopie von Enterprise-Lauf 10 Windows in einem VMWare Fusion vm.

Als Erstes müssen Sie die Docker-Einstellungen-App öffnen, die in Ihrer App-Ablage (oder wie auch immer sie in Windows genannt wird) verfügbar ist. Wählen Sie dann Freigabe und teilen Sie die Laufwerke, mit denen Sie suchen möchten. Wenn Sie auf Anwenden klicken, werden Sie mit einem Benutzernamen-Passwortdialog aufgefordert. Geben Sie das ein und ein dort gezeigtes Beispiel wird funktionieren. Ich Setup test.user und dann war in der Lage zu tun:

run -it --rm -v C:/Users:/data alpine ls /data

Ein obwohl mehr Vorbehalt. Ich war mit einer Domänenanmeldung über ein Geschäftskonto über Office 365 angemeldet. Mein Domänenname \ Benutzername funktionierte nicht. Stattdessen musste ich einen lokalen Windows-Benutzer erstellen und diesen bereitstellen. Dies wird sicherlich einige zusätzliche Kopfschmerzen mit Berechtigungen verursachen, aber scheint die einzige Option im Moment zu sein.Es ist möglich, dass, wenn ich an meinem Arbeitsplatz angeschlossen worden wäre, dies funktioniert haben könnte, aber da ich zu Hause arbeite und nächste Woche auf einer Konferenz sprechen werde, keine Freude für mich!

+0

Prost Philip kann ich einfach fragen, ich habe, was ich dachte, war mit dem alpinen Bild arbeiten, aber ich habe nur meine Benutzerordner zeigen (Steve), aber die Dateien, die definitiv in sie sind nur nicht zeigen? Wie auch immer, ich habe mich stattdessen mit Bänden beschäftigt, die so funktionieren, wie ich es erwarte. Aber ich kann immer noch kein Linux-Image ausführen und Ordner mit Dateien aus meinem Windows-Dateisystem sehen? –

+0

Ich sah etwas ähnliches. Keine Fehler mit dem Volume-Argument, aber auch keine Dateien angezeigt. Ich musste zuerst das Sharing-Setup durchführen und Anmeldeinformationen angeben und dann funktionierte es. Wenn ich dann versucht habe, einen Ordner zuzuordnen, auf den der lokale Benutzer keinen Zugriff hatte, bekam ich einen nützlichen Fehler. Hattest du das Sharing-Setup bereits durchgeführt? –

+0

Nun, ich weiß, das klingt ein bisschen nooby, aber ich denke schon? Ich habe die Docker Task Panel App zu der Zeit verwendet und die Freigabe auf Laufwerksebene C & D auf meinem Rechner eingestellt, und ja, ich wurde nach Zugangsdaten gefragt, die korrekt sein müssen (ich sage, dass, wenn sie korrekt sind, bekomme ich keine Bestätigung, aber wenn Ich betrete den Müll-Docker und lehne die Anmeldedaten ab! Ich habe aber noch nie Dateien in einem Linux-Container gesehen, die vom lokalen Rechner mit dem Befehl run aufgerufen wurden. –

3

Gelöst!

Nach stundenlangen Recherchen und Herumspielen mit Windows Docker habe ich Volumes korrekt zwischen meinem Windows-Host-Rechner und einem Linux-Container. Das bedeutet, dass ich Dateien in meinem Container sehen kann, die auf meinem lokalen Windows-Rechner existieren.

Meine Forschung hat mich zu diesem Link THE ANSWER AND TONS OF GREAT INFO ON THIS PROBLEM

Die Antwort, die funktioniert und ist absolut sinnvoll von einem Mann ‚dennisfischer‘, obwohl das Forum Eintrag lang ist sein lesenswert genannt ist, den Hintergrund des Problems zu bekommen und um herauszufinden, was zwischen Windows fs und dem Container vor sich geht.

Wie auch immer, hoffentlich kann das Ihnen eine verdammt lange Zeit ersparen!

P. Danke an Philip, der wirklich hilfreich war, danke für die Nachrichten und hoffentlich wird dir das irgendwann von Nutzen sein.

+0

Es löste mein Problem auch! So viele Stunden mit diesem Bug verschwendet ... –

+0

Freut mich zu hören, dass es dir geholfen hat! Ich brauchte ungefähr zwei volle Tage, um das zu finden, aber zumindest ist das jetzt eine funktionierende Antwort! –