Docker Kullanarak Yapılarınızı Basitleştirmek için Pratik Beceriler

Docker ile daha önce çalıştıysanız, uygulamalarınızı kapsayıcılarda çalıştırmanın ne kadar uygun olduğunu bilirsiniz. (Docker hakkında bir başlangıç ​​için, Dan Whalin’den ilk Docker uygulamanızı oluşturma ve çalıştırmayla ilgili bu kursa göz atın.)

Docker kapsayıcıları, uygulamalarınızı paketlemek ve çalıştırmak için size tutarlı bir yol sağlar, ancak aynı zamanda yazılım yapılarınızı da güçlendirebilirler. Esasen, uygulamaları kapsayıcıların içinde derlemek için Docker’ı kullanabilirsiniz; bu, Docker’ı derleme sunucunuz yapar ve uygulamanızı kaynaktan oluşturmak ve çalıştırmak için herhangi bir SDK veya çalışma zamanı yükleme gereksinimini ortadan kaldırır.

Konteynerlerin içinde inşa etmenin güzelliği

Konteynerlerin içine inşa etmek, her şeyin süper taşınabilir hale gelmesi anlamına gelir ve sizi teknoloji düzeyinde neler olup bittiğini düşünmek zorunda kalmaktan kurtarır.

Örneğin, bir veritabanında bir proxy ve bir web uygulaması ile bugün size gösterdiğimin bir uzantısı ile Windows kapsayıcılarında çalışan bir uygulamanız olabilir.

Veya bir web bileşeni ve sahne arkasında oturan çeşitli hizmetler ile Linux kapsayıcılarında çalışan bir mikro hizmet tabanlı uygulamanız olabilir. Docker ile bunları oluşturmak için aynı araç setine sahipsiniz.

Geçmişte, geliştiricilerin Visual Studio ve F5 işlevi kullanılarak tamamlanan çalışmaları ile komut dosyaları kullanılarak tamamlanan derleme sürecini tamamladıklarında çalışmaları arasında büyük bir ayrım vardı.

Bugün, Docker ile bu boşluklar ortadan kaldırılıyor ve ister Linux, ister Windows veya ikisinin bir kombinasyonunu kullanıyor olun, bağımlılık içinde sorunlar ortaya çıkıyor. Aynı boru hatlarını ve teknolojileri kullanabilirsiniz.

DevOps’a doğru ilerliyorsanız, ayrı geliştirme ve operasyon ekiplerine olan ihtiyacı hafifletmeye yardımcı olur. Docker ile ekipler aynı teknolojileri ve dilleri kullanır (Dockerfiles ve Compose files). Birdenbire hepsi aynı dili konuşuyor, bu da birlikte çalışmayı ve ortak projelere sahip olmayı kolaylaştırıyor.

Konteynerler 101

Hızlı bir inceleme olarak, Docker’ı sunucunuza veya sunucu kümenize kurar ve talimatları sunucuda çalışan Docker API’sine gönderirsiniz. Docker, bu işlemleri sizin için kapsayıcı adı verilen bu hafif sanallaştırılmış ortamlarda çalıştırır.

Örneğin, bu örnekte üç kapsayıcı çalışıyor ve bu kapsayıcıların her birinin içindeki uygulama bileşenleri farklı bir işlem ortamı görebilir. Her kapsayıcının kendi IP adresi ve RAM’e erişimi olsa da, hepsi işlemleri sunucuda yerel olarak çalıştırıyorlar; bu size kaplar arasında yalıtım sağlar, ancak hepsi yüzeyde çalışan aynı işletim sistemini kullandıkları için süper hafiftirler.

Proje yapılarınızı basitleştirmek için pratik beceriler

Bu makale, bu tür bir sonraki düzey taşınabilirliği nasıl elde edeceğinizi anlamanıza yardımcı olacak bir dizi gösterimde size yol gösterir. İlk demo, Docker ve Compose üzerinde bir tazeleme sağlar ve aşağıdaki demolar için zemin hazırlamaya yardımcı olur, burada ayrıca şunları nasıl yapacağınızı da ele alacağız:

· Çok aşamalı Docker dosyalarından yararlanın

· Docker Compose kullanarak dağıtılmış uygulamalar oluşturun ve GitHub Actions ile yazılım yapılarınızı yönetilen bir CI hizmetine bağlayın

Demo 1: Docker ve Docker Compose’da Tazeleme

İlk demo, Docker ve Docker oluşturma hakkında bir tazeleme sağlar. Tüm parçaların nasıl bir araya geldiğini gösterir ve sonraki demolar için zemin hazırlar. Bu demo altı gözlü/pi deposunu kullanır.

Docker’ı yapı ortamınız olarak kullanmanıza izin verecek üç adım

1. İlk adım, aynı uygulamanın bileşenleri olan iki kapsayıcıyı aşağıdaki gibi çalıştırmaktır:

liman işçisi ağ oluşturma pi

docker run -d –network pi –name pi-web -e Hesaplama:Metrikler:Etkin=yanlış altı gözlü/pi:20.05 -m web

docker run -d –network pi -p 8314:80 altı gözlü/pi:proxy-20.05

http://localhost:8314/pi?dp=5000 adresindeki uygulamayı kullanın

2. Ardından, uygulamanızın istenen durumunu tanımlamak için Oluştur’u kullanın. Bu docker-compose.yml dosyası, aynı uygulamayı bildirimsel bir şekilde açıklar.

Mevcut kapsayıcıları kaldırın:

docker rm -f $(docker ps -aq)

Oluştur ile tekrar dağıtın:

docker-compose -f ./demo1/docker-compose.yml yukarı -d

liman işçisi ps

Bu adım tamamlandıktan sonra http://localhost:8314/pi?dp=10000 adresinde test edin.

3. Bir sonraki adım, Kapsayıcıları uygulama çalışma zamanı ile bir temel görüntünün üzerine paketlemektir. Bu, gereksiz araçlar olmadan mümkün olduğunca küçük olmalıdır; Java için:

liman işçisi konteyner çalıştırma -it –entrypoint sh openjdk:11-jre-slim

java –versiyon

javac –versiyon

çıkış

Maven gibi tam geliştirme ortamına sahip bir kapsayıcı da çalıştırabilirsiniz:

liman işçisi konteyner çalıştırma -it –entrypoint sh maven:3.6.3-jdk-11

java –versiyon

javac –versiyon

mvn –versiyon

çıkış

Ve bu, Docker’ı yapı ortamınız olarak kullanmanızı sağlar.

Bu demonun ilk bölümünde, uygulamayı derlemek için bir SDK görüntüsü kullanacağız. İkinci bölümde, runtime görüntüsünü kullanacağız ve derlenmiş uygulamada kopyalayacağız. Bu demo altı gözlü/dak4.net deposunu kullanır.

1. Uygulamayı derlemek için bir SDK görüntüsü kullanın. Bir .NET Core uygulaması için bu Dockerfile, nasıl çalıştığını gösterir.

cd D:/scm/github/sixeyed/dak4.net

docker build -t signup-web-core -f ./docker/frontend-web/signup-web-core/Dockerfile .

Ardından, çoğunlukla önbellekten yapılan CS’yi düzenleyin ve yeniden oluşturun.

Add-Content -Değer ‘//’ -Yol D:scmgithubsixeyeddak4.netsrcSignUp.Web.CoreProgram.cs

docker build -t signup-web-core -f ./docker/frontend-web/signup-web-core/Dockerfile .

2. Aynı konsepti diğer diller için derlemek için de kullanabilirsiniz. Örneğin, bir .NET Fx uygulaması için bu Dockerfile’a bakın.

Windows kapsayıcılarına geç

liman işçisi versiyonu

docker build -t kayıt-web -f ./docker/frontend-web/v2/Dockerfile .

Bu son demoda, tüm görüntülerinizi tek bir komutla oluşturabilmeniz ve yazılım yapılarınızı yönetilen bir CI hizmetine nasıl ekleyeceğinizi görmek için GitHub Eylemleri iş akışlarını kontrol edebilmeniz için Docker Compose dosyalarına derleme ayrıntılarının nasıl ekleneceğini göstereceğiz. GitHub Eylemleri. Bu demo altı gözlü/diamol deposunu kullanır.

1. Docker Compose dosyalarına derleme ayrıntıları eklemek için, farklı teknik adımlara sahip çok kapsayıcılı bir uygulama için olan docker-compose.yml dosyasına erişerek başlayın. Bu adım, Linux veya Windows kapsayıcılarıyla çalışır.

cd D:/scm/github/altı gözlü/diamol

liman işçisi oluşturma

docker-compose build –pull –no-cache

Ardından, Dockerfiles’e göz atın:

· Node.js erişim günlüğü API’si

· Java REST API’si

· Git web uygulaması

Ardından uygulamayı çalıştırın:

liman işçisi-oluştur -d

Bu adımları tamamladıktan sonra uygulamayı http://localhost:8010 adresinde kontrol edin.

2. Ardından, altı gözlü/kiamol deposundaki GitHub Eylemleri iş akışlarını kontrol edin:

· ch03 yapı

· ch03 dosya oluşturma

· ch03 API Dockerfile

· ch03 uyku Docker dosyası

Son olarak, https://github.com/sixeyed/kiamol/actions adresindeki canlı yapılara göz atın.

Pluralsight ile daha fazla bilgi edinin

Bu Docker tanıtımlarını adım adım incelemek isterseniz, Docker ile Proje Yapılarınızı Basitleştirin adlı web seminerime bakın.

Ayrıca Pluralsight, Docker, DevOps ve çok daha fazlasında hız kazanmanıza yardımcı olacak bir dizi kaynak yayınlar. Pluralsight ile ilgili kurslarımı, web seminerlerimi ve makalelerimi burada bulabilirsiniz.

Ayrıca burada bir aylık öğle yemeklerinde Docker’ı nasıl öğreneceğinize ve burada bir aylık öğle yemeklerinde Kubernetes’i nasıl öğreneceğinize dair ipuçları ve görüşler alabilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.