2016-03-20 15 views
-2

Orijinal olarak paylaşılan birim seçenekleriyle çalıştırılmamış konteynerize edilmiş bir MySQL veritabanıyla çalışıyorsam, verileri harici hale getirmenin en kolay yolu nedir? Kapsayıcıyı, verileri Docker ana bilgisayarıyla belirtilen bir dizinde paylaşacak şekilde değiştirmenin bir yolu var mı?MySQL kapsayıcısından verileri nasıl paylaşılan bir birime yedeklerim?

Not: Bu soruyla ilgili hala sorun yaşıyorsanız, lütfen daha fazla geliştirebilmemiz için lütfen yorum yapın.

+0

İnsanların bu sorunun neden düştüğüne karar vermelerini diliyorum. –

+0

Belki “iyi uygulama” terimi birisine ilham verdi (ben değil). İnsanlar “Ben problemim var. V'yi denedim, bana W verdi ama ben X istiyorum. Benim kodum Y” gibi sorular. Seninki bu kategoriye girmiyor. – PerlDuck

+0

Aslında, uygulamanın değeri hakkında tartışmak istemiyorum; Bu sadece bir açılış konuşmasıydı. Ancak, bunun dışında, burada oldukça fazla nesnel sorular sorduğumu düşünüyorum. –

cevap

0
Resmi Docker belgeleri mükemmel bir overview on how to backup, restore, or migrate data volumes sağlar. Benim sorun için, özellikle de benim yaptığım şu:

  1. , Ubuntu çalışır anda çalışan MySQL konteyner ile hacimleri paylaşır ve anlatıldığı gibi (yerel makinede veritabanı verileri yedekler atılabilen Docker kabı Run genel bakış).

    docker run --rm --volumes-from some-mysql -v /path/to/local/directory:backup ubuntu:15.10 tar cvf /backup/mysql.tar /var/lib/mysql

    (resmi MySQL Docker görüntü verilerini saklamak için /var/lib/mysql kullanır)

  2. önceki adımı Docker konakta /path/to/directory/mysql.tar oluşturulması ile sonuçlanır.

    tar -xvf mysql.tar

    (varsayarak cd /path/to/directory): Bu şimdi olduğu gibi elde edilebilir. Sonuçta ortaya çıkan dizin (/var/lib/mysql) artık aynı örnekle veya kapsayıcı MySQL'in başka bir örneğiyle paylaşılan birim olarak kullanılabilir.

İlgili konular