SORU
28 AĞUSTOS 2013, ÇARŞAMBA


Nasıl kalıcı depolama (örneğin veritabanları) docker ile başa çıkmak için

Nasıl docker kaplar için kalıcı depolama ile anlaşma mı? Şu anda bu yaklaşımı kullanıyorum: görüntü oluşturma, örneğin PostgreSQL için, ve sonra birlikte basınca başlar

docker run --volumes-from c0dbc34fd631 -d app_name/postgres

Hiç (kazara) konteyner silmek zorundayım, bu dezavantajı var, IMHO"". c0dbc34fd631

Başka bir fikir olurdu mount ana birimler "-v" konteyner içine, ancak, kullanıcı kimliği içinde kapsayıcı değildir mutlaka aynı kullanıcı kimliği host ve izinler olabilir berbat.

Merak önerilerinizi duymak. Teşekkürler!

edit: "hiç silmek edemem" "hiç silmek zorundayım" . update

edit: yerine "--birimleri-'cryptic_id'" ayrıca "--birimleri-my-veri-kap" nerede "my-veri-kabı" adı verilen bir veri-sadece kap, örneğin "docker çalışma adı my-veri-kap ..." (bkz: kabul cevabı)

CEVAP
18 Aralık 2013, ÇARŞAMBA


En iyi üretim için iş gibi görünüyor bir yaklaşım kullanmaktırveri yalnızca bir kapsayıcı.

Veri tüpteki barebone bir görüntü üzerinde çalıştırmak ve aslında teşhir dışında bir şey yapmaz veri birimi.

Sonra başka bir kabın veri konteyner hacimleri erişim için:

docker run --volumes-from data-container some-other-container command-to-execute
  • Here farklı kaplar düzenlemek için nasıl iyi bir resim elde edebilirsiniz
  • Here * * * * birimler iş ne kadar iyi bir fikir olduğunu

GÜNCELLEME:

this blog post sözde iyi bir açıklama varses desen olarak konteynerolması en önemli nokta açıklarveri sadece kaplar.

GÜNCELLEME 2:

Docker documentation has now the DEFINITIVE description of the container as volume/s pattern.

GÜNCELLEME 3:

Yedekleme ile güncel dokümanlar prosedür/geri yükleme

YEDEKLEME:

sudo docker run --rm --volumes-from DATA -v $(pwd):/backup busybox tar cvf /backup/backup.tar /data
  • --rm: çıktığında kabı çıkarın
  • birimleri-VERİ--: birimlerin VERİ konteyner tarafından paylaşılan takın
  • -v(özürlü)$:/yedekleme: bağlama kabın içine geçerli dizini mount; tar yazmak için dosya
  • busybox: basit bir görüntü - hızlı bakım için iyi bir küçük
  • tar rne yedek/yedek/.tar /veri: sıkıştırılmamış bir tar /data dizinindeki tüm dosyaların dosya oluşturur

GERİ:

# create a new data container
$ sudo docker run -v /data -name DATA2 busybox true
# untar the backup files into the new container᾿s data volume
$ sudo docker run --rm --volumes-from DATA2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar
data/
data/sven.txt
# compare to the original container
$ sudo docker run --rm --volumes-from DATA -v `pwd`:/backup busybox ls /data
sven.txt

GÜNCELLEME 4

Bir güzel article from the excellent Brian Goff iyi bir konteyner için aynı görüntü ve veri bir konteyner kullanmak için neden açıklamak.

GÜNCELLEME 5

Docker 1.9.0 new volume API olacak!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ChasesAndCrashes

    ChasesAndCra

    31 Temmuz 2009
  • Matt Stokes

    Matt Stokes

    22 Ocak 2008
  • TechXCentral

    TechXCentral

    12 Temmuz 2011