2017-05-22 1 views
0

Ich habe ein wenig Mühe, herauszufinden, wie man mit Deployment-Änderungen bei Datenbankdiensten umgeht. Gerade jetzt, es ist so einfach wie Tun:Wie wird die kontinuierliche Bereitstellung mit Docker-Compose- und -Datenbankservices gehandhabt?

docker-compose up -d 

Es baut die Behälter, wenn es eine Änderung an der Konfiguration. Es ist kein Problem für meinen Web-Service (Knoten), da er keinen Status hat. Ich kann so gut wie alles löschen, es wieder hochbringen und nichts ist verloren.

Mein Datenbankservice registriert fortlaufend neue Daten, was natürlich wichtig ist, damit ich sie nicht einfach verwerfen kann. Soweit ich weiß, sind die Volumes jedes Mal anders, wenn die Bilder gebaut werden. So würde ich jedes Mal, wenn ich den Dienst neu konfiguriere, alle Daten verlieren.

Wie soll ich mit Schemaänderungen umgehen? Oder sollte ich den Service manuell aktualisieren?

+0

Ich würde keinen Datenbankserver containerisieren. – bishop

Antwort

1

Sie können Ihrem Container ein Datenvolumen hinzufügen. In diesem Fall können Sie ein „Volumen“ Eigenschaften in Ihnen docker-compose.yml wie folgt hinzu:

volumes: 
    - /opt/mysql/data:/var/lib/mysql 

Dann werden die Daten volumed in /opt/mysql/data auf dem Host.

+0

Siehe auch http://mysqlserverteam.com/mysql-with-docker-performance-characteristics/ – bishop

+0

Dies ist Teil des 'Volumes' Schlüssel auf der Service-Recht? Ich weiß immer noch nicht, wie ich mit den Änderungen des Systems umgehen soll. – MinusFour

Verwandte Themen