‫Daha önce Docker Compose YAML dosyası hakkında konuştuk ve bu derste,
‫oluşturma komut satırı hakkında konuşacağız. Bu dersin gereklilikleri, görüntüleri ve konteynırları gerçekten bilmeniz
‫gereken bu bölüm için geri kalanlar gibidir ve bunları ve önceki bölümlerden gelen kavramları nasıl kullanacağınızı belirtir,
‫böylece kompozisyon komutunun ve YAML'nin içindeki tüm bunları kullanabilirsiniz dosya. Dock Oluştur komut satırı
‫aracı aslında Docker aracından ayrıdır.
‫Aslında ayrı bir ikili. Windows için Docker'ı veya Mac için Docker'ı
‫kullanıyorsanız, aslında onunla birlikte gelir.
‫Araç kutusu ayrıca Windows 7'de kullanılıyorsa, araç kutusu da buna dahildir.
‫Ancak eğer Linux'daysanız, ayrı ayrı indirmeniz gerekiyor ve bunu GitHub'da bulabilirsiniz. com.tr / docker / oluşturun,
‫ancak Google'da da arama yapabilirsiniz; bu bölümdeki başvurularda bir
‫bağlantı olacaktır.
‫Fakat gerçekten hızlı bir şekilde söylemeliyim ki, bu üretim açısından iyi bir araç olarak tasarlanmamıştır.
‫Yerel geliştirme ve gerçekten hızlı bir şekilde test etmek süper idealdir, aksi takdirde komut satırından
‫bir sürü komut girmek karmaşık olabilir. Kullandığımız iki ortak komut,
‫liman yapıcı olacak, zamanın% 90'ını yazacağınız şey muhtemelen.
‫Tek duraklı bir dükkandır.
‫Temelde, birleştirme dosyaları içindeki her şeyi yapmak için birimler oluşturmak, ağlar oluşturmak, tüm yapılandırma seçenekleriyle
‫tüm kapsayıcıları başlatmak gibi tek bir komuttur. Ardından, işiniz bittiğinde temizlemek
‫için,
‫liman işletmecisi, birçoğunun aslında yapmayı unuttuğu yere iner,
‫sizden sonra temizleyecektir. Kaplardan kurtulur, artık ihtiyaç duyulmayan şebekeleri ve birimleri kaldırır.
‫Bu iki komutla, farklı gelişme ortamlarından hızlı bir şekilde atılmanızı sağlar.
‫Geliştirme için yerel olarak karmaşık ortamları özelleştirmek için vagrant up
‫ve diğer araçları kullanan geliştiricilerin dikkatini çektiğim yer burasıdır.
‫Birlikte Docker Compose ve compose dosyasını gösterdiğimde ve bir Docker dosyasında ne kadar kolay kullanacağımı
‫gösterdikten sonra, bu dosyaları daha iyi bir yol ve ortamlarını kurmak için daha güvenilir bir yol olarak
‫görmeye başlar.
‫Ve farklı VM'leri ayarlama zamanı veya
‫bir sanal makine ortamını yönetmenin karmaşıklığı gerektirmez.
‫olsaydı, size küçük bir zevk verirdi; doğru eklentiler ve normalde Docker Compose ile çoğaltılmış bir ortam
‫oluşturmak zorunda kalacak olan her şey, oluşturma dosyanızın bulunduğu bir ortamı bir
‫yere repo ile kopyalamanın ardından docker oluşturma komutu çalıştırmanın kadar kolaydır.
‫Sisteminiz için doğru araçları nasıl alacağınız
‫ve doğru sanal makinelerin nasıl indirileceğini öğrenmekle ilgili tipik yeni geliştirici onboarding sürecine
‫sahip olduğunuz bir projeniz
‫Gerçekten kolay olabilir.
‫Hadi atlamak ve etrafında oynamaya başlayalım. Compose sample 2 dizinindeyim. Örnek 1 dizini oluşturma,
‫son dersde gösterdiğimiz bazı görsel örneklerdi.
‫Ama bu programda, aslında bu programı çalıştırıp hızlı bir çıktı elde edebileceğiz.
‫Ben sadece bir rıhtım ayarlayacağım.
‫Aslında, bunu yapmadan önce, sana ne olduğunu göstereceğim.
‫Bu, iki servis ya da iki konteyner var ve ilki bir vekil olarak
‫yapılandırılan bir Nginx sunucusudur.
‫Ve bu, yerel makinemdeki 80 numaralı bağlantı noktamı dinliyor olacak.
‫Nginx yapılandırma dosyası olarak adlandırılan bu dizindeki bir dosyaya bind mount'u gerçekte uyguladığım bir ses
‫komutu var ve bu gerçekten çok basit bir küçük dosya.
‫Dosyanın nasıl çalıştığını bildiğimiz önemli değildir. Sadece, bu durumda, aslında yerel
‫ortamımda bir dosya alıyorum gösteriliyor. yapılandırma dosyalarını depolayan bir Git deposudur.
‫Diyelim ki bu dizin, benim için bu Bu dosyayı kapsayıcıyla eşleştirmeme izin veriyor ve
‫aslında sonunda şunu okuyacaksınız: "ro" salt okunur yani konteynerde değiştiremiyorum.
‫Burada mutlaka gerekli değildir. Ben sadece size bu
‫davada böyle davranacağınızı göstermek istedim. Bu yapılandırma dosyası aslında Nginx'e
‫'bir web sunucusu
‫olmak yerine, ters proxy olarak olmanızı ve başka bir sunucunun önünde oturmamızı
‫söylüyorum', bu durumda web sunucusunu hizmetiyle çağırıyoruz. adı ve Docker Hub'daki resmi resim depodan httpd görüntüsü
‫olan Apache 2 sunucusunu çalıştırıyor.
‫Ayrıca, en üstte, burada bir sürüm belirledim görebilirsiniz. Ben de öyle yapardım.
‫Resim çizgisi içinde.
‫Peki, ne olmalı, bu rıhtım teknisyenini yazdığımda, her iki kapta da çalışmalı. İkisi için özel
‫bir ağ oluşturmalıdır.
‫Otomatik olarak bu dosyayı bağlar.
‫Bağlantı noktasını açar ve günlükleri ekranıma atmaya başlar.
‫Nasıl, orada, diyor, göreceksiniz 'Bu iki kapları oluşturmak. 'Aslında ağ
‫kuruyor.
‫Dosyamda bir ağ alanı veya hacim alanı belirtmedim, çünkü bunlar aslında
‫gerekli değildir.
‫Bunlar, yalnızca varsayılan IP adreslerini değiştirir veya kullanılan ağ sürücüsünü değiştirmek gibi ağda bazı
‫özel şeyler yapmak zorunda kalırsam gerekli olur.
‫Ya da ciltler davasında, adlandırılmış ciltler oluşturabilir veya farklı bir cilt sürücüsü kullanabilir ve ileriki
‫bölümlerde daha sonra bunlara da yer vereceğiz.
‫Bildiğiniz gibi, bu dosyalar ne kadar basit olabilir.
‫Normalde bütün bu şeylere ihtiyacın yok.
‫Bu özellikler onlara ihtiyacınız olması durumunda oradadır, ancak genellikle bu basit, küçük komutlar
‫sizi alacaktır.
‫Ben ne yaptım? Şimdi benim Apache sunucusu ve Nginx sunucusuyum.
‫Günlüklerin aslında burada renkli olduğunu fark edeceksiniz.
‫Bu, Docker'la birlikte kullanıma hazır olmana gerek
‫kalmadan, ekranda çalışan tüm kapları ön plana çıkarmasıdır.
‫Ben her zaman aynı şeyi Docker ile yaptığım gibi yapabilirim ve liman işletmecisini
‫arka planda çalıştıran -d'yi oluşturmak için çalıştırırım. geliştirip test ettiğimde, günlüklerimin ekranda görünmesini görmek güzel.
‫Ancak şeyleri yerel olarak
‫Tarayıcıma atlarsam ve sonra localhost'a gidersem, 'Çalışır' yazdığını göreceksin. 'Bu aslında Apache
‫sunucusu tarafından yanıtlanıyor, Nginx sunucusu değil.
‫Trafik gerçekte Nginx ters proxy vasıtasıyla geçiyor.
‫Trafik, Apache sunucusuna yineleniyor. Hiçbir şey değiştirmediğimiz için Apache sunucusu
‫varsayılan varsayılan HTML dosyasıyla yanıt veriyor.
‫Sonra Nginx bana tekrar ettiriyor.
‫Yani, temel web sunucunuz, web proxy yapılandırmanız.
‫Trafiğin her ikisine de çarptığını söyleyebilirsiniz. Proxy aslında burada farklı
‫bir renk
‫olduğu için proxy vasıtasıyla çalışırlar. Günlükler, kurulumumdaki her konteyner için rasgele bir renkle pompalanıyor ve
‫böylece neler olduğunu kolayca görebiliyorum.
‫Yenileme işlemini birkaç kez vurursam, trafik gösterilir. Daha sonra öncelikle proxy'ye, ardından da arka uç
‫web sunucusuna isabet ediyor.
‫Bunu burada durdurmak istersem, ekranımdaki kompozisyonu durdurmak için Control c'ye basardım.
‫Aslında onu arka planda çalıştırmak için -d ile tekrar çalıştırabilirim.
‫Burada onu yenileyebileceğimi görebilirsiniz ve hala orada. Bir rıhtımcıyı, bir süre önce gördüğüm günlük çıktılarını
‫görmek için günlükler oluşturabilirim.
‫Docker'da kullanılabilecek komutların birçoğu Docker Oluştur'da. Gerçekten, Compose'un yaptığı
‫şey, Docker CLI'si adına arka planda
‫Docker API'si ile konuşmasıdır. Bu, Docker CLI'nin arka uçtaki Docker sunucusu API'si
‫ile hâlâ konuştuğu bir yenileme gibidir.
‫Elbette, büyük yardım burada liman yardımcısı, çalıştırdığım tüm komutları bana gösterir.
‫sadece kompozisyon dosyasının konfigürasyonunun içeriğini kullanarak docker komutunun karşılığıdır.
‫Bunların birçoğunun gerçekten tanıdık göründüğünü göreceksiniz, çünkü bunlar
‫Bütün bunları temizlemek istiyorum çünkü hala çalışıyorlar. Her iki konteynır da çalıştığımı gösteren
‫bir rıhtıma bağlayabilirim.
‫Aslında, içlerinde çalışan tüm hizmetleri güzel biçimlendirilmiş bir çıktıda listelemek için üst
‫liman görevi yapabilirim.
‫Bu oldukça havalı.
‫Sonra nihayet, bir liman görevlisi, yeni başladığım şeyleri durdurup temizlemek için hazırlayabilirim.
‫Bana bunun orada ne yaptığını anlattığını göreceksin. Hepsini temizledim.
‫Harikulade.
‫Bu sadece küçük bir zevk.
‫Docker'ı kullanacağız Bu derste, yerel gelişme ve test etme
‫işlemleri için çok şey oluşturun. Ardından, Docker Oluşturma dosyalarını karmaşık ortamları basit bir
‫YAML dosyasıyla nasıl dağıtıldığımız ile ilgili üretim endişelerimize geçiş yaparken kullanmaya devam edeceğiz.