Speichern von Docker PostgreSQL-Daten in einem Azure-Speicherkonto
Sagen Sie mir, wie ich PostgreSQL-Datenbankdaten in einem Azure Storage-Konto speichern kann. Die PostgreSQL-Bereitstellung auf der Azure Container-Instanz. Wenn ich die Azure Container-Instanz neu starte, verschwinden alle Daten. Dockerfile
FROM timescale / timescaledb: latest-pg12
ENV POSTGRES_USER = admin
POSTGRES_DB = dev-
timescaledb POSTGRES_PASSWORD = Kennwort
PGDATA = / var / lib / postgresql / data / pgdataCMD ["postgres", "-c", "max_connections = 500"]
Befehl zum Erstellen einer Containerinstanz und zum Mounten eines Speicherkontos
az container create --resource-group test-env --name test-env --image test-env.azurecr.io/timescale:latest --registry-username test-env --registry-passwort "registry-password" - -dns-name-label test-env --ports 5432 --cpu 2 --memory 5 --azure-file-volume-account-name testenv --azure-file-volume-account-key 'account-key' - -azure-file-volume-share-name 'postgres-data' --azure-file-volume-mount-path '/ var / lib / postgresql / data'
aber ich habe einen Fehler bekommen
Das Datenverzeichnis "/ var / lib / postgresql / data / pgdata" hat einen falschen Besitz. Der Server muss von dem Benutzer gestartet werden, dem das Datenverzeichnis gehört.
Antworten
Aufgrund eines vorhandenen Problems können Sie den Besitz des Bereitstellungspunkts nicht ändern, wenn Sie die Azure-Dateifreigabe an der Containerinstanz bereitstellen. Und es kann derzeit nicht gelöst werden. Sie können das gleiche Problem in SO finden. Ich empfehle, dass Sie AKS mit dem Datenträger verwenden , um das Problem für Postgres bei persistenten Daten zu lösen.