‫Pekala Nuno, Cassandra sunucusunu başlatmak için docker file komutuma ihtiyacım olduğunu ve bundan sonra bir veritabanı şemasını içe aktarmam
‫gerektiğini soruyor.
‫Bunu yapmanın en iyi yolu nedir?
‫Eğer birisi size sohbette cevap vermediyse, çünkü bazen ben saçmalarken
‫bu oluyor, giriş noktası betiği konteyner başlangıcında bir şeyler yapmanın evrensel yoludur.
‫Yani bu, Docker dosyanızın içinde giriş noktasına ve bu BMD'ye sahip olduğunuz anlamına gelir.
‫Şimdi Docker ustalığı kursumda CMT'ye odaklanıyorum çünkü başlangıçta anlamanız
‫gereken şey gerçekten bu, eklemem gereken şey giriş noktası üzerine en az bir ders ve giriş noktalarını
‫yapabileceğiniz çeşitli yolları tartışmak.
‫Dolayısıyla, CND'deki giriş noktasını parçalara ayırdığımızda bir giriş noktası, konteyneriniz başladığında
‫Docker'ın çalıştırdığı aynı tek satırın veya tek komutun iki parçasıdır.
‫Ancak işin püf noktası, bash komut dosyasının sihriyle giriş noktasını alabilir ve CMT'nin önünde olabilecek
‫komutun başlangıcı olmak yerine bir komut dosyası çalıştırabilir ve ardından bu komut dosyasının
‫sonunda komut satırının geri kalanına yürütmeyi aktarmasını söyleyebilirsiniz.
‫Bu çok mantıklı olmayabilir ama hadi gidip gerçek dünyadan bir örnek kontrol edelim ve ne görebileceğimize
‫bakalım, bu yüzden devam filmimi çekeceğim çünkü gerçekten herhangi bir kalıcı veri depolama sistemi
‫burada aynı şekilde
‫davranacak ve Docker Hub'a bakarsam Docker Hub'da
‫devam filmimin resmi görüntüsündeyim.
‫Bu sürümlerden herhangi birinin üzerine tıklarsam açık kaynak olan docker dosyasını elde edeceğim ve
‫bu dosyada pek çok şey bulacaksınız.
‫Açıkçası, devam filmimi yüklüyor ve devam filmini düzgün bir şekilde yapılandırıyor, ancak altta birkaç şey
‫fark edeceksiniz, birincisi bir kabuk betiğini belirli bir konuma kopyalıyor ve orada montajı çalıştırıyor, ancak bu gerçekten
‫geriye dönük uyumluluk için.
‫Ancak buradaki kilit kısım giriş noktası komut dosyasıdır ve giriş noktasının
‫kendisi daha karanlık dosyadaki komutun bir komut dosyası olması gerekmez.
‫Yine sadece giriş noktası varsa ve OMD'yi görüyorlarsa, bunları bir araya getiriyor
‫ve hepsini tek bir satırda çalıştırıyor.
‫Giriş noktası olarak kullanılan bu iki yaygın yolun ya bir komutun başlangıcı için olduğunu görürsünüz, belki de Docker'ı
‫bir komut satırı yardımcı programını çalıştırmak için kullanıyorsanız, bunu 82 ping'de
‫yapıyorum, böylece bir github'ım var.
‫Daha ziyade bir Docker imajım var ve arkasında hub repo'su alıyorum ve yaptığı şey bir konteynerde tek bir komut satırı yardımcı
‫programı çalıştırmak.
‫Ve burada çalışma şekli, giriş noktasının komutun kendisi olmasıdır.
‫Ve sonra SPK bundan sonra gittiği için Docker dosyamda ikisi de olduğunda onları birlikte
‫değiştiriyor.
‫Varsayılan CRM D'yi çalıştırıyorum, bu yüzden bu komutu komuttan çalıştırdığımda Docker
‫run yapabileceğimi düşünürseniz.
‫Brett Fisher HP ödemesini kesti.
‫Ve sonra sadece enter tuşuna bastığımda otomatik olarak sürüm komutunu çalıştıracaktır.
‫Ama o komut satırını doğru yazmaya devam edersem.
‫Tucker kaçıyor.
‫Brett Fisher, eğer bunu yaparsam görüntüyü çekecektir.
‫Pardon, ekranları değiştirmeme izin verin,
‫eğer bu imajı çalıştırırsam varsayılan olarak çalıştıracak ve temelde yardımı dışarı atacak çünkü docker dosyasının
‫CRM D satırında yapmasını söylediği şey buydu.
‫Ancak sondaki bir şeyi değiştirirsem, çünkü bir docker run komutunun formatını hatırlayın,
‫Docker run yapacak ve ardından seçeneklerinizi yapacak, ardından çalıştıracağınız görüntüyü ayarlayacaksınız
‫ve bundan sonraki her şey satırdaki CND'nin yerini alacak.
‫Yani CMT'nin dinamik olarak değiştirilmesi gibi bir şey.
‫Yani burada Google dot com'u çalıştırırsam, varsayılan olarak çalıştıracağı dash dash sürümünün yerini alacaktır.
‫Bu, Docker run'ı bir komut satırı yardımcı programı olarak kullanabilmeniz için gerçekten harika bir yol ve bu iyi bir şey.
‫Bu, esasen bunun nasıl yapılacağına dair benim örneğim.
‫Şimdi bunu yapmanın diğer yolu,
‫bunu yapmanın tek yolu bu değil, diğer yolu bir kabuk betiğidir, bu yüzden burada giriş
‫noktasının çalıştırması gereken dosyayı tanımladığını göreceğiz.
‫Ve sonra burada en üste kadar kaydırırsam ve bu sekiz noktayı dizin yok yaparsam, bir dizin yukarı çıkacağım
‫ve aslında orada başka bir dosya olduğunu göreceğim.
‫Bu, derlemede kopyaladığı docker giriş noktası komut dosyasıdır.
‫Şimdi bu senaryoda neler oluyor.
‫Burada tonlarca şey var.
‫Muhtemelen en az yüz satır.
‫Evet.
‫Aslında yüzlerce satır.
‫Ama buradaki sihirli kısım şu.
‫Uzaklaştır.
‫Tamam.
‫Kaydırma çubuğunu uzaklaştırın.
‫Seni görmek istemiyorum.
‫En alt satırda
‫yer alan Ras'a gidelim.
‫Aynen öyle.
‫Ve sonra dolar işareti kabuğa hey bu betiği bitiriyorum lütfen yürütmeyi CMT'de ne varsa o olacak
‫komut satırımın geri kalanına aktarın der ve bu durumda bu benim devam
‫iblisimdi.
‫Bu durumda bir konteyner başlatıldığında esasen olacak olan şey, komut dosyasını çalıştırmaktır.
‫Senaryonun sonuna geldiğinde tam olarak Lütfen bu komutun sonunda size söylediğim diğer şeyleri
‫yapın diyor ve bu da şeytanınızı çalıştırıyor.
‫Sen benim ön plandaki devam iblisimsin, böylece çalışır durumda kalır.
‫Şimdi komut dosyasının yaptığı şey, bir veritabanı konteynerini başlattığınızda muhtemelen arka planda
‫gerçekleştiğini fark etmediğiniz her şeydir.
‫Ayarlamak istediğiniz varsayılan kullanıcıyı oluşturur.
‫Kök parolasını ayarlamasını istediğiniz şekilde değiştirir.
‫Veritabanını ona söylediklerinize göre oluşturur ve tüm bunları ve ortam değişkenlerini doğru şekilde yapar.
‫Çünkü bunu kopyalamak için yedekleme yaparsak ve kütüphaneye yedekleme yaparsak, bu resmi görüntülerin
‫çoğunda bir sürü ortam değişkenine sahip olacağınızı biliyorsunuz ve hepsini
‫burada belirtiyor.
‫Ve tüm bu ortam değişkenleri, devam filmimi önceden yapılandırmak için bu komut dosyasında kullanılır.
‫Şimdi dosyanın içine bakacak olursanız, bazı ortam değişkenlerini ayarlıyor ve Drucker'ın sıcak gizli şeylerini
‫kullanıyorsanız bunun gibi dosyaları buluyor ve sonra temelde yapılandırmak için
‫ihtiyaç duyduğu tüm verileri alıyor.
‫Ardından, diğer tüm şeylerde kök şifresini değiştirmek de dahil olmak üzere yapılandırdığım devamı başlatır.
‫Sonra devam filmimi kapatıyor ve ardından senaryoyu sonlandırıyor ve ardından bu yürütmeyi tekrar başlatmak için devam filmime
‫aktarıyor, ancak bu sefer sonsuza kadar.
‫Yani aslında devam filmini başlatıyor, bazı şeyleri yapıyor, devam filmlerini durduruyor ve bir yedekleme başlatıyor.
‫Resmi konteynerlerin içindeki tüm bu kalıcı depolama sistemleri de bu şekilde çalışır.
‫Yani sizin için bu sorunun uzun cevabı, bunu kendi özel tuzak komut dosyanızda kullanmak isteyeceğinizdir,
‫belki varsa varsayılan olanı kopyalarsınız veya belki kendinizinkini yaparsınız ve
‫daha sonra ilk başlangıçta bu şemayı oluşturacak kendi görüntünüzü yaparsınız.
‫Şimdi, veritabanı içinde bir şema korkunuz olduğunda, şemaları daha fazla şema yapmak isteyeceğiniz
‫şekilde gerçekten güncellemek istemeyeceğinizi biliyorsunuz.
‫Bu konteynerin dışındaki başka bir yardımcı program aracılığıyla, my cycle komutlarınızı başka bir konteynerden
‫çalıştırırsınız ve daha sonra ağ üzerinden bunun gibi bir şey çalışır.
‫Şimdi bunu değiştirmek zorunda değilsiniz, sadece Cassandra'nızı başlatmasını sağlayabilir ve ardından şemayı
‫farklı bir konteynerden uzaktan ekleyebilirsiniz, ancak bu sırayı doğru şekilde kontrol etmeniz gerekir.
‫Cassandra'nın başlamasını beklemeniz gerekir.
‫Belki de kendi komut dosyasına sahip başka bir konteynere sahip olmanız ve ardından bu komut dosyasının Cassandra'nın
‫hazır olup olmadığını kontrol edecek kadar akıllı olması gerekir.
‫Hazır olduğunda şema güncellemenizi veya orijinal şema yüklemenizi çalıştırın.
‫Esasen bunu bu şekilde yapabilirsiniz ve birçok durumda muhtemelen bunu yapmanın doğru yolu budur, ancak özellikle
‫yerel geliştirme yaparken veya sadece küçük ve kolay bir şeyi hızlandırmak istediğinizde
‫ve sadece ilk kez bir şema oluşturmak istediğinizde ve bunu otomatik olarak yapmak istediğinizde,
‫burada yapacağınız şey resmi varsayılan görüntüyü kullanmak ve kendi şemanızı ve dosyanızı kendi özel
‫görüntünüze eklemektir ve esasen ilk kez başlatıldığında bunu şimdi yapacaktır.
‫İşte sorun burada ve buna dikkat etmeniz gerekiyor, bu giriş noktası komut dosyası, konteyner en azından bu imajdan,
‫özel olanı oluşturduğunuz imajdan her başladığında çalışır.
‫Bu nedenle, komut dosyanızın, şemaya zaten sahip olan bir reklam veritabanında şemayı tekrar tekrar
‫çalıştırmayacak kadar akıllı olduğundan emin olmak istersiniz.
‫Dolayısıyla, bu zeka üzerine inşa etmeniz gerekir ve bu nedenle bazen modelinize bağlı olarak, düzenli olarak bir şeyleri
‫güncellemeyi düşünüyorsanız veya veritabanlarını bir sürü kümesinde veya Cuban ideas kümesinde sürekli
‫olarak hareket ettiriyorsanız, bunu veritabanı konteynerinin içinde yapmak sizin için doğru strateji olmayabilir,
‫ancak bu seçenek mevcuttur.
‫Şuna bir bak.
‫Ve bu, orijinal kursumda olmayan giriş noktaları ile ne yapılacağına dair Cliff Notes gibi, bu yüzden muhtemelen bu videonun
‫orada olduğunu söyleyebilirim ve en azından şimdilik hiçbir şeye sahip olmamaktan daha iyi olan ek materyallere
‫sahip olabilirim.