2016-01-05 25 views
6

Ben ben test verileri bir grup ile ES kadar yüklü ve o halde kaydetmek istedimDocker kapsayıcı Elastik Arama Verileri Persist

docker run -p 80:9200 -p 9300:9300 --name es-loaded-with-data --privileged=true --restart=always es-loaded-with-data 

gibi koşmak bir çalışma ES liman işçisi konteyner koşu yüzden

docker commit containerid es-tester 
docker save es-tester > es-tester.tar 

ile takip sonra geri hepsi gitti verilere bunu yüklediğinizde ... ne oluyor? Eğer resmi ES görüntüden başladıysanız

docker load < es-tester.tar 

cevap

6

, bir hacim (https://github.com/docker-library/elasticsearch/blob/7d08b8e82fb8ca19745dab75ee32ba5a746ac999/2.1/Dockerfile#L41) kullanıyor. Bu nedenle, bu cihaza yazılan herhangi bir veri Docker tarafından işlenmeyecektir. Verileri yedeklemek için, verileri kabın dışına kopyalamanız gerekir: docker cp <container name>:/usr/share/elasticsearch/data <dest>

+1

Bunu çözdüm ve cevabınız için teşekkürler. Benim sorunumun gerçek püf noktası, Github'un kontrol edildiğine baktığım Dockerfile'ın bir VOLUME bildirisine sahip değilken, kullandığım ES docker görüntüsünü oluşturmak için kullandığıydı ... Bu bana ciddi karışıklık verdi. Evet docker cp'yi kullandım ve şimdi -v kullanan docker ile veri yükleyebilen bir sürüm var ve bu da bir birim kullanmıyor ama obvioulsy büyük bir docker görüntüsü yaratıyor. Teşekkürler creack –

+0

Eğer benim gibi iseniz, docker-compose.yml kullanarak ve hacmini dağıtan yolunu verdiyseniz ve o zaman çalışmıyor 'sudo chown -R 1000: 1000/yol/to/volume' çalışmalıdır. davamda çalıştı. –

İlgili konular