‫Tamam. Ciltler ön tarafta oldukça basit görünüyor, ama aslında çok şey var.
‫Bir kabın bir birim hakkında endişelenmesi gerektiğini söyleyebilmenin ilk yolu, Docker dosyasında bulunur.
‫Gidip onlardan bazılarına bakalım.
‫Ben sadece yaptıklarımı çok yapacağım.
‫MySQL'i arayacağım.
‫Dockerfile'lerle bu kadar çok şey öğrendiğimden ve bunları nasıl doğru bir şekilde kullanacağımdan ötürü resmi depoların
‫gerçek varsayılanları ve bunlara yerleştirilmiş en iyi uygulamaları vardır.
‫Buraya MySQL'e gittiğimde buradaki en son Docker dosyasını tıklamaya çalışıyorum. bir ses komutu var.
‫Eminim sana bir veri tabanı, muhtemelen
‫Oraya gidiyoruz.
‫Bu, MySQL veritabanlarının varsayılan konumudır. Bu resim, Docker'a yeni bir konteyner
‫başlattığımızda, aslında yeni bir hacim yeri oluşturup kabın içindeki bu
‫dizine atamasını söyleyecek şekilde programlanmıştır. Bu da, orada, içinde bulunduğu herhangi bir dosyanın, birimin
‫silinlenene kadar kapsayıcıdan daha uzun süre geçeceği anlamına gelir.
‫Ve burada işaret etmemiz gereken bir şey var ki bu ciltlerin el ile silinmesi gerekiyor.
‫Onları yalnızca bir kabı çıkararak temizleyemezsiniz.
‫Onlar fazladan bir adım. Gerçekten sigorta söz konusuydu, çünkü hacim komutunun
‫tümü, bu verinin özellikle önemlidir, en azından kabın kendisinden daha önemli olduğunu söylemektir.
‫MySQL üzerinde bir rıhtım çekici yaparsak
‫ve daha sonra MySQL üzerinde bir rıhtım görüntüsü incelemesi yaparsak, Docker dosyasını aslında resim meta
‫verilerinin parçası olmayan, çünkü bunu farkedeceğiniz Docker dosyasını görmüyoruz config alanına, o hacmin
‫orada olduğunu belirtti.
‫Her zaman inşa edildiğinde Docker dosyasından gelen yapılandırmanın bu yola bir hacim
‫atandığını söyleyebilirim.
‫Onu bir konteyner çalıştıralım.
‫Böylece docker konteyneri -d --adı mysql'i çalıştırır.
‫Daha önce hatırlarsanız MySQL bir tane daha az özel.
‫Artık çalışması için bir
‫ortam değişkeni gerektiriyor.
‫MYSQL_ALLOW_EMPTY_PASSWORD.
‫TAMAM.
‫Gördüğünüz şey MySQL çalışıyor. söyleyen aynı şeyi görmeliyiz.
‫Eğer bir rıhtım konteyneri yaparsak mysql'i inceler, konfigürasyonda bir hacim olduğunu
‫İşte.
‫Ayrıca burada bağlar altında görebiliriz. Bunun nedeni, aslında bu, ana bilgisayarda kendi benzersiz konumunu
‫alıp, bu verileri depolamak için çalışan kapsayıcı olması ve daha sonra, kapsayıcıdaki konumun kapsayıcıdaki konumu bu şekilde eşlenen veya
‫monte edildiği arka planda olmasıdır. aslında sadece / var
‫/ lib / mysql'e yazdığını düşünüyor.
‫Bu durumda, verilerin aslında ev sahibi üzerindeki o yerde yaşadığını görebiliriz. yapalım ve şu anda bir
‫hacmimizin olduğunu görebiliyoruz.
‫Şimdi liman hacmi ls Şimdi, bu benzersiz kimliği bulduğumuzun farkındayız, ne
‫cehennem oluyor bilemeyiz, değil
‫mi?
‫Bu konuda bir inceleme yapalım.
‫Her şeyi yazmanız gerekmiyor.
‫İlk birkaç karakteri yazıp tamamlamak için Tab tuşuna basabilirsiniz. Sesin kendisi hakkında
‫da benzer bilgiler edineceksiniz.
‫Linux makinesinde yapıyorsanız, sabit sürücünüzdeki o konuma gidip verileri görebilirsiniz.
‫Aslında bunu bir
‫Aslında bazı veritabanları orada olacak.
‫Mac veya Windows kullanıyorsanız, Windows için Docker'ın ve Mac için Docker'ın
‫gerçekte bir Linux VM oluşturduğu yerden gizlenen arka planda biraz ilerlemeyi unutmayın.
‫Dolayısıyla bu veriler teknik olarak o Linux VM'nin içindedir. Windows veya Mac makinenizde bu
‫yola gidip verileri göremeyeceksiniz. Aslında bu VM'nin içinde.
‫Bir miktar, takılı hacimlerle, bu sınırlamayı da nasıl atlatabileceğimizi göreceğiz.
‫bu ciltin ne atandığını bize söylemek açısından kullanıcı dostu olmadığını fark ettiniz.
‫Buna bakarak, içeriğinde ne olduğunu veya
‫Konteynerin kullandığı hacmin ne olduğunu, kullanım hacim perspektifinden ne
‫göreceğimizi göremiyoruz.
‫Sağ?
‫Yukarı Ok'a basarsam ve bir mysql2 oluşturalım görelim.
‫Arka planda çalışan başka bir MySQL sunucusu oluşturuldu.
‫Başka liman hacmi ls yaparsam, ikisini göreceksin.
‫Sorunu görmeye başladın, değil mi?
‫Burada birinden diğerine söylemenin kolay bir yolu yok.
‫Eğer bir noktayı ispatlamak için, liman kapını durduran mysql'i ve bir rıhtıma bir kapta
‫mysql2'yi durdurursak.
‫Bir rıhtım konteyneri yapıyoruz, herhangi bir konteynırın çalışmadığını göreceğiz. Eğer bir ls -a
‫yaparsak, hepsini göreceğiz. Ve durdurulduğuna dikkat edin. Ve sonra liman hacmi ls yapıyoruz,
‫hala iki cildiniz olduğunu fark ettiniz.
‫Bir rıhtım konteyneri rm mysql ve sonra mysql2 yaparsam, aslında bunlardan birini tek bir komutta
‫yapabilirim, çünkü her iki kapımı da kaldıracaktır. hacmi ls yaparsam, ciltlerim hâlâ oradadır.
‫Şimdi liman Verilerim hala güvende.
‫Yani bir sorunu çözdük.
‫Veritabanları yürütülebilir dosyadan daha uzun sürmektedir.
‫Bunu biraz daha kullanıcı dostu yapmayı nasıl sağlayabiliriz?
‫Adlı hacimlerin geldiği yer ve bize liman işletmeciliği komutunda şeyler belirtme
‫olanağı var.
‫Donaným konteyneri koşusuna gelinceye kadar Yukarý Okuna birkaç kere basarsam, hangisinin tekrar
‫kacacađýn önemli deđildir.
‫Bu durumda, aslında bir -v komutunu atacağız. Bir -v, çalıştırılacak olan bu kapsayıcı için
‫oluşturmak istediğiniz yeni bir birimi belirtmemize izin verir veya bize diğer iki
‫seçenek sağlar.
‫Onlardan biri adlandırılmış bir cilt oluşturmaktır.
‫Yaptıysam -v ve daha sonra var lib mysql, aynı işi yapacak olan şey, Docker
‫dosyasındaki birim komutunun yaptığı şey.
‫Gerçekten burada yapmamız gerekmiyor. Ama yapabileceğimiz, önüne iki nokta üst üste
‫bir isim koyabilirim. Bu "adlandırılmış hacmi" olarak bilinir. ad kullandığını göreceksin.
‫"Bunu yaptığımda ve daha sonra liman hacmi ls yaparsam, yeni kabının yeni bir birim kullandığını ve
‫kolay bir
‫Eğer bir liman cildi hacmini bu mysql üzerinde incelersek, burada daha kolay kullanıldığını göreceksiniz.
‫Konteynerimi tekrar sildiysem ve bir -f dosyasını koymaya devam etmem
‫gerektiği için hala çalışıyor ve sonra bir tane daha çalıştırıyorum. Ve bu kez, farklı
‫bir ad vereceğim. Ve sonra başka bir rıhtım hacmi yapıyoruz
‫ls, yeni bir hacim yaratmadığımızı görürsünüz. Hâlâ aynı hacmi kullanıyor.
‫Hırsız liman konteyneri, mysql3 üzerinde teftiş yapalım. yapılandırılmış olan bu ancak ne çalışıyor?
‫Sonra burada göreceğimiz şey, evet,
‫Burası bizim takozlarımız.
‫Burada sadece dostça isim değil, aynı zamanda kaynağın yerini de biraz daha
‫dostça olarak değiştirdiğini göreceğiz.
‫bir ipucu burada, günler veya haftalarca bir defada, belirli bir veritabanında, belirli bir kapsayıcıda defalarca
‫kullanmaya devam etmem gereken ve boş bir veritabanı sunucusu istemiyorum.
‫Bu şekilde konteynırlarımı oluşturup bunları projeye adlandıracağım, böylece bu cildin ne için olduğunu ve etrafında
‫kalması gerektiğini biliyorum.
‫Benim için küçük
‫Burada son bir şey var.
‫Neden rıhtım hacmini yaratmak istersiniz?
‫Bunları bir liman yuvası konteyneri çalıştırma komutundan oluşturabilirsek ve onları Docker dosyasında belirterek oluşturabilirsek, vaktinden önce
‫oluşturmak isteyebileceğiniz birkaç durum var. Ve aslında bunu help komutunu
‫kullanarak oldukça hızlı bir şekilde çözebilirsin.
‫Çünkü burada aslında farklı bir sürücü belirleyebileceğimiz tek yol var.
‫Daha sonra bahsedeceğim eklenti öğelerini hatırlıyor musun?
‫Sonra -o'yu kullanmak istediğiniz herhangi bir sürücü seçeneği.
‫Etiket koymak istiyorsak, daha sonra üretim bölümünde de konuşacağız.
‫Bazen, özel durumlarda, Docker birimini önceden oluşturmanız gerekir, ancak genellikle yerel geliştirme amaçlarınız için,
‫yalnızca bir Docker dosyasında belirtmek veya çalıştır komutunda sorun yoktur.