Wie kann ich in Docker Dateien zwischen Containern austauschen und sie dann in einem Image speichern?

Ich möchte die Daten im freigegebenen Volume eines Containers für ein Image festschreiben. Ich kann es scheinbar nicht tun? Ich habe den Eindruck, dass dies in Docker vielleicht nicht möglich ist, aber das widerspricht der gesamten Philosophie, keine Daten auf dem Host zu belassen, sodass ein Teil von mir der Meinung ist, dass es einen Weg geben muss, dies zu tun.

1. Terminal

Starten Sie einen Container in Terminal 1 mit einem Volume.

$ docker run -it -v /data ubuntu:14.10 /bin/bash
root@19fead4f6a68:/# echo "Hello Docker Volumes." > /data/foo.txt
2. Terminal

Starten Sie einen zweiten Container in Terminal 2. Die Datei aus Container 1 ist dort, sodass alle Docker-Volumes funktionieren.

$ docker run -it --volumes-from 19fead4f6a68 ubuntu:14.10 /bin/bash

root@5c7cdbfc67d8:/# cat /data/foo.txt
Hello Docker Volumes.
3. Terminal

Mein Verständnis ist, dass ich nur Diffs für Bilder festschreiben kann, also überprüfe ich, welche Diffs auf beiden Containern vorhanden sind. Aus irgendeinem bizarren Grund werden meine Änderungen nicht angezeigt! ??

$ docker diff 19fead4f6a68
A /data

$ docker diff 5c7cdbfc67d8
A /data
4. Zurück in Terminal 1

Ich erstelle eine Datei außerhalb des Volume-Ordners

 root@19fead4f6a68:/# echo "Docker you are a very strange beast...." > /var/beast.txt
5. Zurück in Terminal 3

Wir können jetzt einige Änderungen vornehmen, obwohl ich ziemlich frustriert bin, da dies nicht die Daten des Volumens sind, die ich für die Freigabe mit meinem anderen Container benötigt habe.

$ docker diff 19fead4f6a68
A /data
C /var
A /var/beast.txt

Clearly das ist beabsichtigt. Hat jemand eine Idee, warum Docker mir nicht erlaubt, Volumendaten für ein Commit zu speichern? Gibt es überhaupt eine Möglichkeit, Dateien zwischen Containern auszutauschen und sie dann in einem Image zu speichern? Ich habe das Gefühl, es muss etwas geben, das mir fehlt? Insbesondere bis zum Ende des Datenaustauschs unter Vermeidung von Host-Abhängigkeiten.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage