Ich möchte die Daten im freigegebenen Datenträger eines Containers an ein Bild übergeben. Ich kann es nicht tun? Ich habe den Eindruck, dass dies bei Docker vielleicht nicht möglich ist, aber das scheint völlig im Widerspruch zu der ganzen Philosophie zu stehen, keine Daten über den Host zu hinterlassen, daher denkt ein Teil von mir, dass es einen Weg geben muss, dies zu tun.Wie kann ich in Docker Dateien zwischen Containern freigeben und sie dann in einem Image speichern?
1. Terminal 1
einen Container im Terminal 1 mit einem Volumen in Betrieb.
$ docker run -it -v /data ubuntu:14.10 /bin/bash
[email protected]:/# echo "Hello Docker Volumes." > /data/foo.txt
2. Terminal 2
einen zweiten Behälter in Terminal 2 die Datei aus dem Behälter 1 dort Inbetriebnahme ist so Docker Band alle arbeiten.
$ docker run -it --volumes-from 19fead4f6a68 ubuntu:14.10 /bin/bash
[email protected]:/# cat /data/foo.txt
Hello Docker Volumes.
3. Terminal 3
Mein Verständnis ist, dass ich nur Diffs Bilder begehen kann, damit ich überprüfen, was die diffs auf beiden Behälter sind. Aus irgendeinem seltsamen Grund erscheinen meine Änderungen nicht!
$ docker diff 19fead4f6a68
A /data
$ docker diff 5c7cdbfc67d8
A /data
4. Zurück in Terminal 1
ich eine Datei außerhalb des Volume-Ordner
[email protected]:/# echo "Docker you are a very strange beast...." > /var/beast.txt
5. Zurück in Terminal 3
Wir haben jetzt einige Änderungen schaffen wir können Commit, obwohl ich ziemlich frustriert bin, da dies nicht die Daten sind, die ich mit meinem anderen Container teilen musste.
$ docker diff 19fead4f6a68
A /data
C /var
A /var/beast.txt
Dies ist eindeutig durch das Design. Hat jemand irgendwelche Ideen, warum Docker mir nicht erlauben, Volumendaten zu einem Festschreiben zu speichern? Gibt es überhaupt irgendwelche Dateien zwischen Containern zu teilen und sie dann in einem Bild zu speichern? Ich habe das Gefühl, dass etwas fehlt, das mir fehlt. Besonders zu den Enden des Teilens von Daten unter Vermeidung von Host-Abhängigkeiten.
So wie eine dritte Person? Ich erkannte, dass sie nicht als Teil des Containers behandelt wurden. Meine Frage ist jedoch, ob es möglich ist, außerhalb des Mounten eines Host-Volumes dieses dritte Objekt zu speichern. – rickard
erweiterte meine Antwort zu versuchen, dies zu adressieren – Bryan