Docker: Daten in einen MySQL-Container übertragen
Beim Versuch, Daten in ein MySQL-Container-Image zu übertragen, ist es wichtig, die Auswirkungen zu verstehen Datenvolumes.
Das offizielle MySQL Docker-Image verwendet Datenvolumes 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 Sie können wie zuvor Container erstellen und Daten importieren:
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_psat1Wenn Sie nun den Container als neues Image festschreiben:
docker commit -m "Imported liferay sql dump" my-mysql-container my-custom-mysql-image:v1The Importierte Daten werden in das festgeschriebene Image aufgenommen und sind verfügbar, wenn neue Container mit diesem Image gestartet werden.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3