Menyimpan data Docker PostgreSQL ke Akun Penyimpanan Azure
beri tahu saya bagaimana cara menyimpan data database PostgreSQL di akun Penyimpanan Azure. PostgreSQL diterapkan ke Azure Container Instance. Saat saya memulai ulang contoh Azure Container, semua data menghilang. Dockerfile
DARI skala waktu / skala waktub: terbaru-pg12
ENV POSTGRES_USER = admin
POSTGRES_DB = dev-timescaledb
POSTGRES_PASSWORD = kata sandi
PGDATA = / var / lib / postgresql / data / pgdataCMD ["postgres", "-c", "max_connections = 500"]
Perintah untuk membuat Instans Penampung dan memasang Akun Penyimpanan
az container buat --resource-group test-env --name test-env --image test-env.azurecr.io/timescale:latest --registry-username test-env --registry-password "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'
tetapi saya mendapat kesalahan
direktori data “/ var / lib / postgresql / data / pgdata” memiliki kepemilikan yang salah Server harus dijalankan oleh pengguna yang memiliki direktori data.
Jawaban
Ini disebabkan oleh masalah yang ada sehingga Anda tidak dapat mengubah kepemilikan titik pemasangan saat Anda memasang Berbagi File Azure ke Contoh Kontainer. Dan itu tidak bisa diselesaikan saat ini. Anda dapat menemukan masalah yang sama di SO. Saya sarankan Anda menggunakan AKS dengan volume disk dan ini akan menyelesaikan masalah untuk Postgres pada data yang ada.