Docker - Depolama
Depolama Sürücüleri
Docker, birinin temeldeki depolama aygıtlarıyla çalışmasına izin veren birden çok depolama sürücüsüne sahiptir. Aşağıdaki tablo, depolama sürücüleri için kullanılan teknoloji ile birlikte farklı depolama sürücülerini gösterir.
Teknoloji | Depolama Sürücüsü |
---|---|
OverlayFS | overlay veya overlay2 |
AUFS | aufs |
Btrfs | brtfs |
Aygıt Yöneticisi | aygıt Yöneticisi |
VFS | vfs |
ZFS | zfs |
Şimdi, çeşitli depolama sürücülerini kullanacağınız bazı örnekleri tartışalım -
AUFS
Bu kararlı bir sürücüdür; üretime hazır uygulamalar için kullanılabilir.
İyi bir bellek kullanımına sahiptir ve kapsayıcılar için sorunsuz bir Docker deneyimi sağlamak için iyidir.
Bu sürücü ile ilişkili dikkate alınması gereken yüksek yazma etkinliği vardır.
Hizmet tipi olarak Platform olan sistemler için iyidir.
Cihaz Oluşturucu
Bu kararlı bir sürücüdür; sorunsuz bir Docker deneyimi sağlar.
Bu sürücü, laboratuvardaki uygulamaları test etmek için iyidir.
Bu sürücü, ana Linux çekirdeği işlevselliği ile uyumludur.
Btrfs
Bu sürücü, ana Linux çekirdeği işlevselliği ile uyumludur.
Bu sürücü ile ilişkili dikkate alınması gereken yüksek yazma etkinliği vardır.
Bu sürücü, birden çok derleme havuzuna sahip olduğunuz durumlar için iyidir.
Ovelay
Bu kararlı bir sürücüdür ve ana Linux çekirdeği işlevselliği ile uyumludur.
Hafıza kullanımı iyidir.
Bu sürücü, laboratuvardaki uygulamaları test etmek için iyidir.
ZFS
Bu kararlı bir sürücüdür ve laboratuvardaki uygulamaları test etmek için iyidir.
Platform-as-a-Service tipi işleyen sistemler için iyidir.
Kullanılan depolama sürücüsünü görmek için, docker info komut.
Sözdizimi
docker info
Seçenekler
Yok
Geri dönüş değeri
Komut, Docker Ana Bilgisayarına yüklenen Docker bileşeniyle ilgili tüm ilgili bilgileri sağlayacaktır.
Misal
sudo docker info
Çıktı
Aşağıdaki çıktı, kullanılan ana sürücünün aufs sürücü ve kök dizininin /var/lib/docker/aufs.
Veri Hacimleri
Docker'da, kapsayıcılar arasında paylaşılabilen ayrı bir biriminiz vardır. Bunlar olarak bilinirdata volumes. Veri hacminin bazı özellikleri şunlardır:
- Kapsayıcı oluşturulduğunda başlatılırlar.
- Birçok konteyner arasında paylaşılabilir ve tekrar kullanılabilirler.
- Birimin kendisinde herhangi bir değişiklik doğrudan yapılabilir.
- Kapsayıcı silindikten sonra bile var olurlar.
Jenkins kapsayıcımıza bakalım. Hadi yapalımdocker inspectBu görüntünün ayrıntılarını görmek için. Çıktısını yazmak için aşağıdaki komutu verebiliriz.docker inspect bir metin dosyasına komut verin ve ardından dosyayı uygun şekilde görüntüleyin.
sudo docker inspect Jenkins > tmp.txt
Metin dosyasını kullanarak görüntülediğinizde more commandolarak bir giriş göreceksiniz JENKINS_HOME=/var/Jenkins_home.
Bu, konteyner içinde Jenkins görüntüsü aracılığıyla yapılan eşlemedir.
Şimdi, kapsayıcıdaki hacmi yerel bir birimle eşlemek istediğinizi varsayalım, sonra kabı başlatırken –v seçeneğini belirlemeniz gerekir. Aşağıda bir örnek gösterilmiştir -
sudo docker run –d –v /home/demo:/var/jenkins_home –p 8080:8080 –p 50000:50000 jenkins
–V seçeneği, kaptaki hacmi eşlemek için kullanılır. /var/jenkins_home Docker Host'umuzdaki bir konuma /home/demo.
Şimdi gidersen /home/demo Konteynırınızı başlattıktan sonra Docker Host'unuzdaki konum, orada bulunan tüm konteyner dosyalarını göreceksiniz.
Bir Konteyner için Depolama Sürücüsünü Değiştirme
Bir konteyner için kullanılan depolama sürücüsünü değiştirmek isterseniz, bunu konteyneri başlatırken yapabilirsiniz. Bu, kullanılarak yapılabilir.–volume-driver parametresini kullanırken docker runkomut. Aşağıda bir örnek verilmiştir -
sudo docker run –d --volume-driver=flocker
–v /home/demo:/var/jenkins_home –p 8080:8080 –p 50000:50000 jenkins
–volume-driver seçeneği, konteyner için başka bir depolama sürücüsü belirtmek için kullanılır.
Sürücünün değiştirildiğini onaylamak için önce şunu kullanalım: docker psçalışan kapsayıcıları görmek ve kapsayıcı kimliğini almak için komut. Öyleyse, önce aşağıdaki komutu verin -
sudo docker ps
Sonra bir yayınlayın docker inspect konteynere karşı koyun ve komutu kullanarak çıktıyı bir metin dosyasına koyun.
sudo docker inspect 9bffb1bfebee > temp.txt
Metin dosyasına göz atarsanız ve yazan satıra giderseniz VolumeDriver, sürücü adının değiştirildiğini göreceksiniz.
Bir Birim Oluşturmak
Kullanılarak önceden bir birim oluşturulabilir. dockerkomut. Bu komut hakkında daha fazla bilgi edinelim.
Sözdizimi
docker volume create –-name=volumename –-opt options
Seçenekler
name - Bu, oluşturulması gereken birimin adıdır.
opt - Bunlar birimi oluştururken sağlayabileceğiniz seçeneklerdir.
Geri dönüş değeri
Komut, oluşturulan birimin adını çıkaracaktır.
Misal
sudo docker volume create –-name = demo –opt o = size = 100m
Yukarıdaki komutta, 100MB boyutunda ve demo adıyla bir hacim oluşturuyoruz.
Çıktı
Yukarıdaki komutun çıktısı aşağıda gösterilmiştir -
Tüm Ciltleri Listeleme
Ayrıca tüm docker volumes bir docker host. Bu komutla ilgili daha fazla ayrıntı aşağıda verilmiştir -
Sözdizimi
docker volume ls
Seçenekler
Yok
Geri dönüş değeri
Komut, tüm ciltlerin çıktısını alacaktır. docker host.
Misal
sudo docker volume ls
Çıktı
Yukarıdaki komutun çıktısı aşağıda gösterilmiştir -