temelde bir veritabanı çalışan bir döküm dosyası geri kazanmanın üç yolu vardır azk
içinde (bunlar aynı zamanda MySQL ve MariaDB gibi diğer DB'ler ile de çalışırlar):
1- Yerel bir istemci (grafik araç veya komut satırı aracı) kullanma:
veritabanına bağlanmadan önce, veritabanı çalışan liman bulmak gerekir: Biz ev sahibi dev.azk.io
ve önceki komuta kaynaklanan bağlantı noktasını kullanarak veritabanına bağlanmak, Şimdi
$ azk start postgres # Ensures the database is running
$ azk status postgres
┌───┬──────────┬───────────┬──────────────┬─────────────────┬─────────────┐
│ │ System │ Instances │ Hostname/url │ Instances-Ports │ Provisioned │
├───┼──────────┼───────────┼──────────────┼─────────────────┼─────────────┤
│ ↑ │ postgres │ 1 │ dev.azk.io │ 1-data:32831 │ - │
└───┴──────────┴───────────┴──────────────┴─────────────────┴─────────────┘
(32381
) . Kullanıcı adı, şifre ve veritabanı adı Azkfile
'da tanımlanmıştır. azk shell
ve veritabanı CLI'nin
2-:
$ azk shell postgres
$ psql --host dev.azk.io --port 32831 --username ${POSTGRES_USER} \
--password=${POSTGRES_PASS} --dbname=${POSTGRES_DB} < dbexport.sql
: port çalışan veritabanı öğrenmek için yukarıda açıklanan adımları Koşu
, aşağıdaki komutu çalıştırabilirsiniz 3 - Otomatik görüntü komut dosyasını veritabanı görüntüsünden kullanma:
Resmi Docker Görüntülerinin çoğu için Veritabanları, /docker-entrypoint-initdb.d/
klasöründeki dosyaları arar ve veritabanı başlatıldığında bunları çalıştırmak için bir entrypoint
komut dosyası vardır. Aşağıdaki Azkfile
açıklanan gibi sadece, bu yerdeki döküm dosyalarını (.sql
) monte edebilirsiniz, göz önüne alındığında:
systems({
postgres: {
image: { docker: "azukiapp/postgres" },
mounts: {
"/docker-entrypoint-initdb.d": sync("./dumps"),
}
}
});
komutuyla azk start postgres
ile postgres
sistemini başlayarak, döküm dosyaları otomatik olarak işletilecek. Sıkıştırılmış Eğer Postgres' script ve Mysql's görebileceğiniz gibi, döküm dosyaları düz metin (.sql
) olabilir, (.sql.gz
) ve hatta kabuk komut (.sh
):
Göz.