Heim  >  Artikel  >  Datenbank  >  So übertragen Sie Daten in einen MySQL-Docker-Container und bewahren sie auf

So übertragen Sie Daten in einen MySQL-Docker-Container und bewahren sie auf

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-24 09:07:29238Durchsuche

How to Commit Data in a MySQL Docker Container and Preserve It

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn