2016-11-10 26 views
5

Düğüm ve MongoDB ile docker-compose'u kurmaya çalışıyorum. Resmi Mongo konteyneriyle birlikte veri tabanının sürekli yedekleri ve başlangıçta ilk geri yükleme için özel bir kap (mongodb-backup) kullanıyorum.Docker'da MongoDB - kapsayıcıda yedekleme veritabanı kapama

Sorunum, docker-compose stop numaralı telefonun düzgün bir şekilde kapanması durumunda bir yedeği nasıl tetikleyeceğidir.
Bu nedenle, veritabanına hiçbir işlemin yazılmadığını garanti etmek için öncelikle Düğüm kabını kapatmak gerekir. Ardından veritabanını yedekleyin ve son olarak mongodb ve mongodb-backup conatainer'ları kapatın.

Bu repository, docker-compose mongodb ve mongodb-backup kurulumumu içerir.

Bunun nasıl uygulanacağı konusunda bir fikri olan var mı?

+0

Sorunuz bana% 100 açık değildir. Mongo konteynırını batırdıktan sonra verilerinizi yedeklemeden nasıl geri yüklersiniz? – RichArt

+0

Hayır, geri yükleme mongodb yedekleme kabı tarafından ele alınır. Ben mongodb konteyner kapatılmadan önce veritabanını yedeklemek (döküm) istiyorum. –

+1

Sanırım mongodb kabının vidalanması durumunda veriyi kaybetmemek için yedekleri yapıyorsunuz. Yani bunu yapmanın tek yolu, günlük veya saatlik yedeklemeyi planlamaktır. Mongodb kabının bir dahaki sefere ne zaman kapandığını nasıl anlarsın? Sadece planlı bir bakım için. Bu senin davan mı? – RichArt

cevap

0

Bu dava için küçük bir bakım senaryosu yazabilirsiniz. docker-compose stop numaralı ham yerine, bunun yerine bu komut dosyasını çalıştırabilirsiniz. Bakalım bakım.shp:

#!/bin/sh 
docker-compose stop app 
docker-compose stop mongo-backup # ensure only one is active 
docker-compose run --rm -e INIT_BACKUP=1 # do the backup manually 
docker-compose stop mongo # stop the database 
+0

Downvoters en azından yorum yapmak için nezaket hakkına sahip olabilir mi? Bir sorun varsa cevabımı ayarladığım için mutluyum. – ShrimpPhaser