‫Bu ders kompozisyon dosyalarınıza görüntü oluşturmayı eklemekle ilgili olacak, böylece kompozisyon
‫komutlarını çalıştırırken otomatik olarak bir
‫görüntüye sahip olmanızı sağlayacaktır. Bu bölümdeki diğer öğretim görevlilerinde olduğu
‫gibi, Docker konteyner ve Docker görüntü komut satırı işlevselliği konusunda gerçekten çoktan bilgiye sahip olmanız gerekir.
‫Oluşturmanın sizin için yapabileceği bir diğer şey de görüntülerinizi çalışma zamanında oluşturmanızdır. Aslında görüntüler için önbellekte bakar
‫ve içinde oluşturma seçenekleri varsa yukarı komutu kullanıldığında bu görüntüyü oluşturacaktır.
‫Görüntüyü her seferinde oluşturmaz.
‫Bulmazsa sadece inşa edecektir.
‫Resimlerinizi değiştirirseniz yeniden oluşturmak için docker oluştur oluşturma aracını kullanmanız
‫gerekir veya docker oluşturma up --build'ı kullanabilirsiniz.
‫Aslında bunu bir dakika içinde göreceğiz.
‫Bu, yerel olarak Oluştur'u kullanırken ve oluşturmak istediğiniz görüntülere sahip olduğunuz için gerçekten harika. Belki de hacim
‫montajını kullanmak istemezsiniz. Aslında dosyalara veya başka bir şeye resim kopyalamak istersiniz.
‫Yapım komutunuz oldukça karmaşık olabilir. Bazı özel ortam değişkenleri veya bağımsız
‫değişkenler oluşturabilir.
‫Bu arada, argümanlar oluşturun, biz konuşmadık. sırasında kullanılabilen ortam değişkenleri.
‫Gerçekten yalnızca yapılar Dokümanlara bakabilirsiniz. liman işçisi. com Dockerfiles dokümantasyonu
‫ve derlemelerde argümanlar oluşturma hakkında konuşacağım.
‫Burada, yerel olarak nasıl kullanabileceğinize dair bir örneğe bakacağız.
‫Örnek 3 dizininde yer alıyorum. Buraya önceden hazırlanmış bir Docker Oluştur dosyam var
‫burada görebilirsiniz.
‫Aslında nginx adında bir Docker dosyası var. Dockerfile. Daha sonra benzer bir nginx
‫yapılandırması daha önce sahip olduğumuz web sitemiz için bir ters proxy olarak Nginx kullanıyorduk.
‫Donör Oluştur'a girersek, bu çözümü nasıl tasarladığımı görebilirsiniz.
‫Aslında iki tane servisim var.
‫Biri daha önce olduğu gibi Nginx vekilidir ve biri daha önce olduğu gibi Apache web sunucusudur.
‫Fakat birkaç şey farklıdır.
‫Nginx için varsayılan görüntü belirlemek yerine, aslında özel bir tane oluşturuyorum.
‫Burada, aslında kullanması gereken Docker dosyasının özel olarak adlandırılmış bir Docker
‫dosyası olduğunu söyleyen bazı argümanlar verdim görebilirsiniz.
‫Docker dosyasını içerdiği bu geçerli dizinde oluşturmasını istiyorum. görüntüyü adlandırmasını istiyorum,
‫nginx -custom.
‫Oluşturduğunda o Bunu yerel önbelemde saklar. Ardından altta, Apache çalıştıran
‫bir web sunucumuz var.
‫Burada yapmış olduğum şey aslında Apache sunucusuna sahip olduğum bazı HTML kaynak dosyalarını taktım.
‫Yani senaryo burada belki bir web
‫geliştiricisiyim, bu HTML dizininin altında gerçekten
‫çok fazla endişelenmem gereken statik bir web sitem var.
‫Sadece küçük bir önyükleme şablonu kullanıyor.
‫ancak bununla üretim aşamasına geldiğimi biliyorum, aslında bir Nginx proxy'sinin ardında olacak.
‫Buradaki editörümde yerel olarak düzenleme yapacağım,
‫Dolayısıyla, üretim ortamını olabildiğince yerel olarak taklit etmek istiyorum, yalnızca herhangi bir böcek veya herhangi bir problemi yok
‫etmem için emin olmak istiyorum. Bu durumda, bu
‫Nginx'i istiyorum ve bu Nginx yapılandırmasının, üretim sunucusunda kullanacakları
‫yapılandırma olduğunu biliyorum, böylece burada burada kullanacağım.
‫Aslında bu, önceki ile aynı Nginx yapılandırmasıdır.
‫Docker oluşturma komutu çalıştırdığımda, önce önbellekte bu görüntünün
‫adını kontrol etmeye başlayacağım. yapım komutlarını kullanacağım ve daha sonra imajımı oluşturacağım.
‫Bulamazsa, burada Docker dosyasını aramak için bu Bu Docker dosyasından görebildiğiniz gibi aslında oldukça basittir.
‫Sadece Nginx'in belirli bir sürümünü kullanacağız ve daha sonra sadece bir dosyayı kopyalayacağız.
‫Geri kalan bilgi, Docker Hub'daki Nginx yapılandırmasından alınacak ve
‫ardından Nginx yapılandırmamda kopyalanacak.
‫Önceki bir örneğini hatırlarsanız, bu Nginx yapılandırmasını yapılandırma dosyamızdan almak için
‫aslında bind bağlamıştık.
‫Bu durumda, sadece bütün görüntüyü oluşturmak istiyoruz.
‫değiştirmemize gerçekten ihtiyacımız yok, bu yüzden her zaman değiştirebilmek için gerçekten bağlamam gerekmiyor.
‫Bu proxy yapılandırmasını
‫Ben sadece koşmamı istiyorum. Sağ? Yani, inşa edeceğim. Bırakın resim önbelleğinde oturun. İlk kez
‫inşa edildiğinde, çok sık yeniden oluşturulması gerekmez.
‫O yüzden ben oradan ayrılacağım.
‫Sonra web sitemde düzenleme ve geliştirme yaparken canlı düzenlemeler yapabilmem
‫için bu yapılandırmaya sahip olacağım. Eđer buraya geri dönersek, liman limaný yaparsýn, hadi gidip
‫neler olduđuna bir göz atalým.
‫İlk ağ kurdu.
‫Bu normal bir şey. Bunu yapar.
‫Ardından, proxy hizmetinin aradığı görüntünün olmadığını görüyoruz. Yani onu inşa
‫edecek.
‫Dolayısıyla Docker dosyasını çıkarıyor ve normal bir rıhtım inşaatı komutu yapacakları gibi inşa ediyor.
‫Ardından, bulamadıkça resmi bu kez oluşturduğunu bildirmek için bana yardımcı
‫ipucu veriyor.
‫Ancak gelecekte, bu görüntüyü değiştirmem gerekiyorsa, liman yapımı oluşturma veya liman işletmecisi yukarı
‫- inşa komutlarını oluşturmak zorunda kalacağım. aslında konteynırlar oluşturabilir.
‫Artık görüntü var, Sonra web sunucum ve proxy sunucu başlıyor.
‫Her şey düzgün bir şekilde çalışmış olsaydı, bir localhost alabilir olmalıyım. Aslında bir önyükleme şablonu olan
‫varsayılan şablonumu yukarı çekti.
‫Her şey yolunda gibi görünüyor.
‫Aslında buraya geldim ve tüm günlüklerimin geldiğini görebiliyorum ve tabii ki bir sürü varlığı var. Her biri için bir günlük
‫girişi var ve proxy üzerinden ve web sunucusundan geçecek.
‫Bu dizini düzenlemeye bağladığım için aslında editörüme geri dönebilirim. Bir web geliştiricisi olarak içeri girip gidebilirim,
‫belki web sitesinde bir şeyler düzenleyebilirsiniz. bu küçük başlık olmalı.
‫Belki başlangıçtaki bootstrap başlığına geçeceğim, bu başlık burada
‫Sadece dosyayı kaydedeceğim. Sonra yenilersem, web sitem güncellendi, çünkü bu bağlama tekrar bağlanıyor.
‫Bu, yerel olarak bazı özel görüntüler oluşturmanız gereken çok yaygın bir geliştirici kurulumuna
‫mükemmel bir örnektir.
‫Bazı dosyaları çalışma zamanında düzenleyebilmeniz için uygulamanıza da bağlamanız gerekir.
‫Ve tabii ki eğer bu veritabanı destekli bir uygulama olması gerekiyorsa, veritabanı sunucusu
‫için buraya üçüncü bir servis eklemeliyim. Sonra, geri dönüp temizlememi yaparım.
‫Varsayılan olarak, o görüntüyü gerçekten silmeyeceğinizi göreceksiniz.
‫Burada üst kısmında göreceğiniz nginx özelliğidir. Ancak liman yapımı bir komut
‫var.
‫Yardıma bakarsanız, inşa etmiş veya kullanıyor olabilecek görüntüleri gerçekten kaldıran bir
‫rmi seçeneği olduğunu görürsünüz.
‫Burada şu gerçek seçenek var diyor: 'yalnızca resim alanıyla ayarlanmış özel bir etiketi olmayan resimleri
‫kaldırın. 'Bunu
‫biraz daha otomatik hale getirmek istersem burada yapabileceğim bir şey var, burada
‫görüntü komutunu alabilir miyim? Onu kaldıralım. Sonra gerçek hızlı temizlemek istiyorum. kaldıracağım.
‫Sadece imajımı rıhtım römorku resmi. Gördüğün gibi oraya gitmiş.
‫Tamam. Liman limanını yeniden oluşturmak istiyorum.
‫Ve bu kez bir -d yapacağız.
‫Bu Oluşturma örneklerinde, konteynırların, birimlerin ve ağların aslında proje adı
‫olarak dizinin adıyla isimlendirildiğini fark edeceksiniz.
‫Aslında burada Oluştur'taki bir şey var. Adı çakışmalarını
‫önlemek için, aslında tüm öğelerin başında dizin adını ekleyecek ve böylece diğer
‫adlarla çakışmıyorlar.
‫Bu proxy adını komut satırından değiştirebilirsiniz.
‫Gitirseniz, Oluştur belgelerine bakın.
‫Ama burada yapmak istediğim nokta, liman işçiliği görüntüsünü yaparsam, aslında benim resmimin benim için adlandırıldığını
‫göreceksiniz demektir.
‫Dolayısıyla teknik olarak bu görüntü seçeneğini kullanmam gerekmiyor.
‫Belki daha sonra tanımlayabilmek için belirli bir isim istedim, ancak yapabilirdim.
‫Onu buraya getirmemin sebebi aslında biraz daha temiz oldu, çünkü daha
‫sonra yapabileceğim liman limanında oluyor ve yardımda bir rmi tipi kullanabileceğimi söyledi. tutmak isterse, yerel olarak rmi yapabilirim.
‫Bu yüzden temizlediğimde ve Docker ortamım temiz
‫Gerçekte, bu görüntüleri silmek de işe yarayacak.
‫Aşağıda görüntüyü sildiğini göreceksiniz.
‫Her zaman yaptığım bir şey değil ama belki çok sayıda özel resim içeren büyük
‫bir projem varsa ve o proje üzerinde gelişmediğimde sistemimi patlatmasını istemiyorsam, yerel
‫rmi'yi kullanacağım , ve oluşturması gereken özel resimlerin daima takip etmesi gerekir.
‫projede kullanılan, bu durumda kullanmayı istemediğiniz her görüntüyü silecektir çünkü bu durumda
‫httpd Apache web sunucusunu silebilir ve bu resmin Bir süre orada kal.
‫Elbette burada hepsini kullanırsam, bu TAMAM.
‫Bu bölümde Kompozisyon hakkında çok şey öğrendiniz.
‫Bu dersin geri kalanında Kompozisyon komutunu kullanacağız.
‫Gittiğimiz gibi bu becerileri geliştirmeye devam edeceğiz.