Ich bin ein wenig verwirrt mit der Funktionalität der benannten Volumes in einem Docker komponieren Datei speziell, wenn es um die Sicherung/Wiederherstellung meiner App kommt.Wie sollte ich Docker benannten Volumes sichern und wiederherstellen
Ich teste eigentlich diese dockercompose Datei:
version: '2'
services:
django:
build:
context: "{{ build_dir }}/docker/django"
depends_on:
- db
environment:
[...]
volumes:
- code:/data/code
- www:/var/www
- conf:/data/conf
networks:
- front
- db
expose:
- "8080"
entrypoint: "/init"
db:
build:
context: "{{ build_dir }}/docker/postgres"
environment:
[...]
volumes:
- data:/var/lib/postgresql/data
networks:
- db
volumes:
data:
www:
code:
conf:
networks:
front:
external:
name: "proxy_nw"
Da die Dokumentation sagte, habe ich versucht, den Namen Volumen zu verwenden, anstatt Daten nur Container. Aber wie soll ich meine Daten sichern?
Mit einem Daten nur Container hätte ich eine docker run --rm --volume-from DOC backup_container save
getan, die wirklich einfach ist.
Jetzt lese ich in this topic, dass ich etwas wie docker run --rm --volume data --volume www --volume code --volume conf backup_container save
verwenden sollte. Dies ist nicht so einfach, da ich viele Anwendungen mit unterschiedlichen Typen und Namen von Volumes habe, was bedeutet, dass mein Befehl zum Speichern meiner Daten für jede Anwendung anders sein muss. Es kompliziert den Automatisierungsprozess.
Bearbeiten: Eigentlich ist diese Syntax docker run --volume data --volume www container_image my_command
nicht korrekt. Es benötigt den Mountpoint innerhalb des Containers, also wäre es docker run --volume data:/somewhere --volume www:/somewhereelse container_image my_command
. So ist es noch komplizierter, mit einem Backup-Container zu verwenden.
Also, was sind die besten Praktiken in diesem Fall? Sollte ich nur ein benanntes Volume für alle meine Container verwenden?
Eigentlich alles in der gleichen Lautstärke zu montieren macht keinen Sinn, da alles in der Lautstärke versaut wird (es war gestern spät). – Plup