Datei aus einem Docker Container auf die Lokale Festplatte kopieren

Manchmal kann es vorkommen das man zum Beispiel mit phpmyadmin keinen DB Export mehr ausführen kann, sei es weil die db zu groß geworden ist, oder einfach zu viele Tabellen in der Datenbank sind. Wenn das Passiert kann man sich recht leicht weiterhelfen um den Dump dennoch zu erstellen.

Wie geht man jetzt vor?

1. Wir erstellen den dump über die CMD direkt im Container.


# Ermitteln der Container id
docker ps
# ergibt etwas wie:
# 78cfd652f9dc mysql:5.7 "docker-entrypoint.s…" 40 minutes ago Up 40 minutes 3306/tcp, 33060/tcp container_name_id

# Betreten des Docker Containers:
docker exec -it 78cfd652f9dc bash

# Erstellen des Mysql Dump
mysqldump -uDBNutzerNameOhneLehrstelleNachU -pDBNutzerPasswortOhneLehrstelleNachP DBName > /dumps/DateiNameFürDBDump.sql
# jetzt wird eine kompletter Dump deienr Datenbank in der Datei "DateiNameFürDBDump.sql" auf oberster Ebene des Containers abgelegt.

# Container wieder verlassen
exit

# Dump Datei auf den Localen Rechner kopieren
docker cp 78cfd652f9dc:dumps/DateiNameFürDBDump.sql /pfad/zum/lokalen/ordner/DateiNameFürDBDump.sql