kapsayıcıyı geri döndürmek istersem, bir görüntü işlemeyi deneyebilir ve daha sonra kapsayıcıyı silebilir ve işlenen görüntüden yeni bir kapsayıcı oluşturabilirim. Ama bunu yaparsam birim silinir ve tüm verilerim kaybolur
Docker kullanıcı kılavuzunun açıkladığı gibi, veri hacimleri , verileri bir konteyner dosya sisteminin dışında tutmaya yöneliktir. Bu aynı zamanda birden fazla kap arasında veri paylaşımını da kolaylaştırır.
Docker hiçbir zaman birimlerdeki verileri silmezken (ilişkili kapsayıcıyı ile silmediğiniz sürece docker rm -v
), herhangi bir docker kapsayıcısı tarafından başvurulan olmayan birimlere sarkan birimler denir . Bu sarkan hacimlerden kurtulmak ve erişmek zordur.
Bu, bir birimi kullanan son kapsayıcı silinir silinmez, veri hacminin sarkması ve içeriğinin erişilmesi zor olduğu anlamına gelir.
Bu sarkan hacimleri önlemek için, püf noktası, kalmak istediğiniz veri hacmini kullanarak ek bir liman işçisi konteyneri oluşturmaktır; böylece her zaman en az bir docker konteyneri hacmini referans alır. Bu şekilde, wordpress uygulamasını çalıştıran docker kapsayıcısını, bu veri hacmi içeriğine erişim kolaylığını kaybetmeden silebilirsiniz.
Bu tür kaplara veri hacmi kapları denir .
Kapsayıcı ve hacim verilerimi yedeklemenin basit bir yolu olmalı, ancak hiçbir yerde bulamıyorum.
yedek docker görüntüleri
Docker görüntülerini yedeklemek için, daha sonra docker load komutuyla yeni bir docker görüntüsü oluşturmak için kullanılabilecek bir tar arşivi oluşturacak docker save komutunu kullanın.
yedek docker konteynerler
Docker kapsayıcısını farklı yollarla yedekleyebilirsiniz
- docker commit komutunu kullanarak docker kapsayıcısının geçerli durumunu temel alan yeni bir docker görüntüsü uygulayarak
- kullanarak tar arşivi olarak liman işçisi konteyner dosya sistemini ihraç ederek liman işçisi ihracat komutunu. Daha sonra docker import komutuyla bu tar arşivinden yeni bir docker görüntüsü oluşturabilirsiniz .
Bu komutların yalnızca docker konteyneri katmanlı dosya sistemini yedekleyeceğini unutmayın. Bu, veri hacimlerini hariç tutar .
docker veri birimlerini yedekle
Bir veri birimini yedeklemek için, docker kullanım kılavuzunda açıklandığı gibi birim içeriğinin bir arşivini oluşturmak üzere yedeklemek istediğiniz birimi kullanarak yeni bir kapsayıcı çalıştırabilir ve tar komutunu yürütebilirsiniz .
Sizin durumunuzda, veri hacmi bir MySQL sunucusunun verilerini saklamak için kullanılır. Dolayısıyla, bu birim için bir tar arşivini dışa aktarmak istiyorsanız, önce MySQL sunucusunu durdurmanız gerekir. Bunu yapmak için wordpress kabını durdurmanız gerekecek.
MySQL verilerini yedekle
Diğer bir yol, mysqldump komutuyla veritabanı dökümü oluşturmak için MySQL sunucusuna uzaktan bağlanmaktır . Ancak bunun çalışması için MySQL sunucunuzun uzak bağlantıları kabul edecek şekilde yapılandırılmış olması ve uzaktan bağlanmasına izin verilen bir kullanıcısı olması gerekir. Bu, kullandığınız wordpress docker görüntüsünde geçerli olmayabilir.
Düzenle
Docker kısa süre önce , satıcıların uyguladığı eklentilere hacimlerin işlenmesine izin veren Docker birim eklentilerini tanıttı .
docker run
Komut için yeni bir davranışı vardır -v
seçeneği. Artık bir birim adı geçirmek mümkündür . Bu şekilde oluşturulan birimler adlandırılır ve daha sonra referans vermesi kolaydır, bu da sarkan hacimlerle ilgili sorunları kolaylaştırır .
Düzenle 2
Docker docker volume prune
tüm sarkan hacimleri kolayca silme komutunu verdi.