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:
FROM mysql VOLUME ["/var/lib/mysql"]
<code class="sh">sudo docker build -t <image-name> .</code>
<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>
<code class="sh">sudo docker commit -m "Imported liferay sql dump" mysql-psat1 <image-name>:v1</code>
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!