Docker: Daten in einen MySQL-Container übertragen
Beim Versuch, Daten in ein MySQL-Container-Image zu übertragen, ist es wichtig, die Auswirkungen zu verstehen Datenmengen.
Das offizielle MySQL Docker-Image verwendet Datenmengen zum Speichern seiner Daten. Dies ermöglicht zwar eine Datenpersistenz über die Lebensdauer eines Containers hinaus, bedeutet aber auch, dass Daten nicht im festgeschriebenen Image enthalten sind.
Um Daten zusammen mit MySQL an ein Image festzuschreiben, erstellen Sie ein benutzerdefiniertes Basis-Image ohne Volumes. Erstellen Sie beispielsweise ein neues Image basierend auf dem MySQL-Image mit der folgenden Docker-Datei:
FROM mysql:latest RUN rm -rf /var/lib/mysql/ CMD ["mysqld"]
Dann erstellen Sie das benutzerdefinierte Image:
docker build -t my-custom-mysql-image .
Mit diesem benutzerdefinierten Basis-Image können Sie dies tun Erstellen Sie Container und importieren Sie Daten wie zuvor:
docker run --name my-mysql-container -e MYSQL_ROOT_PASSWORD=secret -d my-custom-mysql-image docker exec -it my-mysql-container bash mysql -uroot -psecret -e 'create database liferay_psat1;' mysql -uroot -psecret liferay_psat1 < /mnt/liferay_sql_dump.sql
Wenn Sie jetzt den Container als neues Image festschreiben:
docker commit -m "Imported liferay sql dump" my-mysql-container my-custom-mysql-image:v1
Die importierten Daten werden in das festgeschriebene Image aufgenommen und verfügbar, wenn neue Container mit diesem Bild gestartet werden.
Das obige ist der detaillierte Inhalt vonSo übertragen Sie Daten in einen MySQL-Docker-Container und bewahren sie auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!