Heim > Datenbank > MySQL-Tutorial > Wie übertrage ich Datenänderungen an ein MySQL-Container-Image?

Wie übertrage ich Datenänderungen an ein MySQL-Container-Image?

Linda Hamilton
Freigeben: 2024-10-24 10:48:29
Original
237 Leute haben es durchsucht

How Do I Commit Data Changes to a MySQL Container Image?

So übermitteln Sie Datenänderungen an ein MySQL-Container-Image

Wenn Sie das offizielle MySQL-Image zum Erstellen eines Containers verwenden, werden alle darin gespeicherten Daten gelöscht Die Datenbank bleibt auch dann bestehen, wenn der Container gestoppt oder gelöscht wird. Dies liegt daran, dass die Daten in einem persistenten Volume gespeichert werden, das nicht Teil des Images selbst ist.

In einigen Fällen möchten Sie jedoch möglicherweise die Datenbankänderungen in das Image übernehmen, damit die Daten darin enthalten sind das neue Bild. Dazu müssen Sie ein benutzerdefiniertes MySQL-Image ohne Volumes erstellen.

Schritte:

  • Erstellen Sie eine neue Docker-Datei und fügen Sie die folgenden Zeilen ein:
FROM mysql
VOLUME ["/var/lib/mysql"]
Nach dem Login kopieren
  • Entfernen Sie das /var/lib/mysql-Volume.
  • Erstellen Sie das Image:
<code class="sh">sudo docker build -t <image-name> .</code>
Nach dem Login kopieren
  • Ausführen Erstellen Sie den Container mit dem neuen Image und importieren Sie den SQL-Dump:
<code class="sh">sudo docker run --name mysql-psat1 -e MYSQL_ROOT_PASSWORD=secret -d <image-name>
sudo docker exec -it mysql-psat1 bash
> mysql -uroot -psecret -e 'create database liferay_psat1;'
> mysql -uroot -psecret liferay_psat1 < /mnt/liferay_sql_dump.sql</code>
Nach dem Login kopieren
  • Übernehmen Sie die Änderungen am Image:
<code class="sh">sudo docker commit -m "Imported liferay sql dump" mysql-psat1 <image-name>:v1</code>
Nach dem Login kopieren

Das neue Image wird enthalten die neu erstellte Datenbank und ihre Daten.

Das obige ist der detaillierte Inhalt vonWie übertrage ich Datenänderungen an ein MySQL-Container-Image?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage