Ich habe ein Volume aus einer docker-compose.yml-Datei erstellt. Lassen Sie uns den Datenträger my_volume und den Container, der my_container zugeordnet ist, aufrufen. Ich möchte die Entfernung des Inhalts des Volumes skripten. Alle unten genannten Annahmen gehen davon aus, dass my_container gestoppt, aber nicht entfernt wurde.Wie entfernen Sie den Inhalt eines Andockvolumes?
kann ich den Inhalt des Volumens Liste:
docker run --rm -v my_volume:/data/ ubuntu ls -la /data
Dies funktioniert, so dass beim nächsten Ich versuche, den Inhalt des Datenordner zu entfernen, mit:
docker run --rm -v my_volume:/data/ ubuntu rm -rf /data/*
keine Fehlermeldung gemeldet wird So scheinen Dinge erfolgreich, aber wenn ich den Inhalt des Volumes erneut auflisten, wurden keine Daten auf dem Volume entfernt.
docker run --rm -it -v my_volume:/data/ ubuntu /bin/bash
dann aus dem Behälter:
ich die Entfernung durch einen Behälter eintritt und dann tun die Entfernung wie so erreichen kann
rm -rf /data/*
Dies funktioniert gut und der Inhalt entfernt, aber das macht den Zweck zunichte, da es nicht skriptfähig ist. Irgendwelche Ideen, warum rm nicht funktioniert, wenn ich versuche, es außerhalb des Containers zu verwenden und wie ich den Inhalt des Volumes erfolgreich entfernen könnte? Ich sollte beachten, dass ich das Volume nicht entfernen und ein neues erstellen möchte, da dies das Entfernen des ursprünglichen Containers/Images erfordert, das mit dem Volume verknüpft ist, das ich nicht tun möchte. Danke für jede Hilfe!
Vielleicht nicht wirklich, wo Sie suchen, aber sie sind in der Lage, Ihr Volumen löschen mit 'rm -r/var/lib/Docker/volumes/my_volume/_data/*' – lvthillo
Andere Dinge, die ich versucht, ' docker run --rm -v mein-volume:/data/ubuntu rm -rf data/'hat funktioniert, aber gab ein Gerät ist beschäftigt Warnung/Fehler. Eine andere "Lösung" bestand darin, alles separat zu entfernen (aber Sie können dies nur tun, wenn Sie immer wissen, was Ihr Volume enthält: 'docker run --rm -v mein-volume:/data/ubuntu rm -rf data/dir1 data/dir2 data/file1 .. " – lvthillo