Docker - Hızlı Kılavuz

Docker, bir konteyner yönetimi hizmetidir. Docker'ın anahtar kelimeleri:develop, ship ve runherhangi bir yer. Docker'ın tüm fikri, geliştiricilerin uygulamaları kolayca geliştirmeleri, bunları daha sonra her yerde dağıtılabilecek konteynerlere göndermesidir.

Docker'ın ilk sürümü Mart 2013'teydi ve o zamandan beri, özellikle Çevik tabanlı projeler karşısında modern dünya gelişiminin moda sözcüğü haline geldi.

Docker'ın Özellikleri

  • Docker, kapsayıcılar aracılığıyla işletim sisteminin daha küçük bir ayak izi sağlayarak geliştirme boyutunu azaltma yeteneğine sahiptir.

  • Kapsayıcılarla, geliştirme, Kalite Güvencesi ve Operasyonlar gibi farklı birimlerdeki ekiplerin uygulamalar arasında sorunsuz bir şekilde çalışması daha kolay hale gelir.

  • Docker konteynerlerini her yerde, herhangi bir fiziksel ve sanal makinede ve hatta bulutta dağıtabilirsiniz.

  • Docker kapsayıcıları oldukça hafif olduğundan, çok kolay ölçeklenebilirler.

Docker Bileşenleri

Docker aşağıdaki bileşenlere sahiptir

  • Docker for Mac - Birinin Mac OS üzerinde Docker konteynerlerini çalıştırmasına izin verir.

  • Docker for Linux - Linux işletim sisteminde Docker konteynerlerinin çalıştırılmasına izin verir.

  • Docker for Windows - Windows işletim sisteminde Docker konteynerlerinin çalıştırılmasına izin verir.

  • Docker Engine - Docker görüntüleri oluşturmak ve Docker konteynerleri oluşturmak için kullanılır.

  • Docker Hub - Bu, çeşitli Docker görüntülerini barındırmak için kullanılan kayıt defteri.

  • Docker Compose - Bu, birden çok Docker konteyneri kullanan uygulamaları tanımlamak için kullanılır.

Tüm bu bileşenleri sonraki bölümlerde detaylı olarak tartışacağız.

Docker için resmi site https://www.docker.com/Site, Docker yazılımı ile ilgili tüm bilgileri ve belgeleri içerir. Ayrıca çeşitli işletim sistemleri için indirme bağlantılarına sahiptir.

Docker kurulumunu başlatmak için bir Ubuntu örneği kullanacağız. Zaten sahip değilseniz, sanal bir Linux örneği kurmak için Oracle Virtual Box kullanabilirsiniz.

Aşağıdaki ekran görüntüsü, Oracle Virtual Box üzerine kurulmuş basit bir Ubuntu sunucusunu göstermektedir. Adında bir işletim sistemi kullanıcısı vardemo sunucuya tam kök erişimi olan sistemde tanımlanmıştır.

Docker'ı kurmak için aşağıda verilen adımları izlememiz gerekiyor.

Step 1- Docker'ı kurmadan önce, doğru Linux çekirdek sürümünün çalıştığından emin olmalısınız. Docker, yalnızca Linux çekirdek sürümü 3.8 ve üzerinde çalışacak şekilde tasarlanmıştır. Bunu aşağıdaki komutu çalıştırarak yapabiliriz.

Adın

Bu yöntem, Linux sistemi hakkında sistem bilgilerini döndürür.

Sözdizimi

uname -a

Seçenekler

a - Bu, sistem bilgilerinin döndürülmesini sağlamak için kullanılır.

Geri dönüş değeri

Bu yöntem, Linux sisteminde aşağıdaki bilgileri döndürür -

  • çekirdek adı
  • düğüm adı
  • çekirdek sürümü
  • Çekirdek sürümü
  • machine
  • processor
  • donanım platformu
  • işletim sistemi

Misal

uname –a

Çıktı

Yukarıdaki komutu çalıştırdığımızda aşağıdaki sonucu alacağız -

Çıktıdan, Linux çekirdek sürümünün 4.2.0-27 olduğunu ve 3.8 sürümünden daha yüksek olduğunu görebiliriz, bu yüzden gitmekte fayda var.

Step 2 - İşletim sistemini aşağıdaki komutla yapılabilen en son paketlerle güncellemeniz gerekir -

apt-get

Bu yöntem, paketleri İnternet'ten Linux sistemine yükler.

Sözdizimi

sudo apt-get güncellemesi

Seçenekler

  • sudo - sudo komutu, komutun kök erişimiyle çalışmasını sağlamak için kullanılır.

  • update - update seçeneği kullanıldığında, tüm paketlerin Linux sisteminde güncellenmesini sağlar.

Geri dönüş değeri

Yok

Misal

sudo apt-get update

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu alacağız -

Bu komut internete bağlanacak ve Ubuntu için en son sistem paketlerini indirecektir.

Step 3- Sonraki adım, daha sonra gerekli Docker paketlerini indirmek için Docker sitesiyle çalışmak için gerekecek gerekli sertifikaları kurmaktır. Aşağıdaki komutla yapılabilir.

sudo apt-get install apt-transport-https ca-certificates

Step 4- Sonraki adım, yeni GPG anahtarını eklemektir. Bu anahtar, Docker için gerekli paketleri indirirken tüm verilerin şifrelenmesini sağlamak için gereklidir.

Aşağıdaki komut, 58118E89F3A912897C070ADBF76221572C52609D kimliğine sahip anahtarı, keyserver hkp: //ha.pool.sks-keyservers.net: 80 ve bunu advanahtarlık. Lütfen bu özel anahtarın gerekli Docker paketlerini indirmek için gerekli olduğunu unutmayın.

Step 5 - Daha sonra, sahip olduğunuz Ubuntu sürümüne bağlı olarak, ilgili siteyi docker.list için apt package manager, böylece Docker paketlerini Docker sitesinden tespit edip uygun şekilde indirebilecektir.

  • Hassas 12.04 (LTS) ─ deb https://apt.dockerproject.org/repoubuntu-hassas ana

  • Güvenilir 14.04 (LTS) ─ deb https://apt.dockerproject.org/repo/ ubuntu-trusty main

  • Wily 15.10 ─ deb https://apt.dockerproject.org/repo ubuntu-wily main

  • Xenial 16.04 (LTS) - https://apt.dockerproject.org/repo ubuntu-xenial ana

İşletim sistemimiz Ubuntu 14.04 olduğundan, Depo adını "deb" olarak kullanacağız. https://apt.dockerproject.org/repoubuntu-trusty main ”.

Ve sonra, bu depoyu şuraya eklememiz gerekecek docker.list Yukarıda da belirtildiği gibi.

echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main” 
   | sudo tee /etc/apt/sources.list.d/docker.list

Step 6 - Ardından, apt-get update command Ubuntu sistemindeki paketleri güncellemek için.

Step 7 - Paket yöneticisinin doğru depoyu gösterdiğini doğrulamak istiyorsanız, bunu, apt-cache command.

apt-cache policy docker-engine

Çıktıda, bağlantısını alacaksınız https://apt.dockerproject.org/repo/

Step 8 - Düzenleyin apt-get update command yerel sistemdeki tüm paketlerin güncel olmasını sağlamak için.

Step 9 - Ubuntu Trusty, Wily ve Xenial için, linux-image-extra- * kernel paketlerini kurmamız gerekiyor, aufs storage driver. Bu sürücü, Docker'ın daha yeni sürümleri tarafından kullanılır.

Aşağıdaki komut kullanılarak yapılabilir.

sudo apt-get install linux-image-extra-$(uname -r) 
   linux-image-extra-virtual

Step 10 - Son adım Docker'ı kurmaktır ve bunu aşağıdaki komutla yapabiliriz -

sudo apt-get install –y docker-engine

Buraya, apt-get Docker-engine imajını Docker web sitesinden indirmek ve Docker'ı kurmak için yükleme seçeneğini kullanır.

Docker motoru, Ubuntu tabanlı sistemler için Docker Corporation'ın resmi paketidir.

Bir sonraki bölümde, kurulu olan Docker sürümünü nasıl kontrol edeceğimizi göreceğiz.

Docker Sürümü

Çalışan Docker sürümünü görmek için aşağıdaki komutu verebilirsiniz -

Sözdizimi

docker version

Seçenekler

  • version - Docker komutunun kurulu Docker sürümünü döndürmesini sağlamak için kullanılır.

Geri dönüş değeri

Çıktı, sistemde kurulu Docker sürümünün çeşitli ayrıntılarını sağlayacaktır.

Misal

sudo docker version

Çıktı

Yukarıdaki programı çalıştırdığımızda şu sonucu alacağız -

Docker Bilgisi

Sistemde çalışan Docker hakkında daha fazla bilgi görmek için aşağıdaki komutu verebilirsiniz -

Sözdizimi

docker info

Seçenekler

  • info - Docker komutunun kurulu Docker hizmeti ile ilgili detaylı bilgileri döndürmesini sağlamak için kullanılır.

Geri dönüş değeri

Çıktı, sistemde kurulu Docker'ın aşağıdaki gibi çeşitli ayrıntılarını sağlayacaktır:

  • Konteyner sayısı
  • Görüntü sayısı
  • Docker tarafından kullanılan depolama sürücüsü
  • Docker tarafından kullanılan kök dizin
  • Docker tarafından kullanılan yürütme sürücüsü

Misal

sudo docker info

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu alacağız -

Windows için Docker

Docker, Windows için kullanıma hazır bir desteğe sahiptir, ancak Windows için Docker'ı kurmak için aşağıdaki yapılandırmaya sahip olmanız gerekir.

sistem gereksinimleri

Windows İşletim Sistemi Windows 10 64 bit
Hafıza 2 GB RAM (önerilir)

Windows için Docker'ı şuradan indirebilirsiniz: https://docs.docker.com/docker-for-windows/

Docker ToolBox

Docker ToolBox, Windows 8.1 ve Windows 7 gibi daha eski Windows sürümleri için tasarlanmıştır. Windows için Docker'ı kurmak için aşağıdaki yapılandırmaya sahip olmanız gerekir.

sistem gereksinimleri

Windows İşletim Sistemi Windows 7, 8, 8.1
Hafıza 2 GB RAM (önerilir)
Sanallaştırma Bu etkinleştirilmelidir.

Docker ToolBox'ı şuradan indirebilirsiniz - https://www.docker.com/products/docker-toolbox

Her ürünün kurulumunu inceleyelim.

Windows için Docker

Yükleyici indirildikten sonra, yükleyiciyi başlatmak için üzerine çift tıklayın ve ardından aşağıda verilen adımları izleyin.

Step 1 - Yükleme işlemine devam etmek için Sözleşme şartlarına ve ardından Yükle düğmesine tıklayın.

Step 2 - Tamamlandığında, kurulumu tamamlamak için Bitir düğmesine tıklayın.

Docker ToolBox

Yükleyici indirildikten sonra, yükleyiciyi başlatmak için üzerine çift tıklayın ve ardından aşağıda verilen adımları izleyin.

Step 1 - Başlangıç ​​ekranındaki İleri düğmesine tıklayın.

Step 2 - Sonraki ekranda varsayılan konumu koruyun ve İleri düğmesini tıklayın.

Step 3 - Varsayılan bileşenleri koruyun ve devam etmek için İleri düğmesine tıklayın.

Step 4 - Ek Görevleri olduğu gibi bırakın ve ardından İleri düğmesini tıklayın.

Step 5 - Son ekranda, Yükle düğmesine tıklayın.

Docker Toolbox ile Çalışma

Şimdi Docker Toolbox'ın Windows'ta Docker konteynerleriyle çalışmak için nasıl kullanılabileceğine bakalım. İlk adım, Docker toolbox kurulumu gerçekleştirildiğinde masaüstünde kısayolun oluşturulduğu Docker Toolbox uygulamasını başlatmaktır.

Ardından, Docker araç kutusu başlatıldığında yapılandırmanın gerçekleştirildiğini göreceksiniz.

Tamamlandığında, Docker'ın yapılandırıldığını ve başlatıldığını göreceksiniz. Docker için etkileşimli bir kabuk alacaksınız.

Docker'ın düzgün çalıştığını test etmek için Docker'ı kullanabiliriz run command indirmek ve çalıştırmak için basit HelloWorld Docker container.

Docker'ın çalışması run command aşağıda verilmiştir -

docker run

Bu komut, bir Docker konteynerinde bir komut çalıştırmak için kullanılır.

Sözdizimi

docker run image

Seçenekler

  • Image - Bu, kapsayıcıyı çalıştırmak için kullanılan görüntünün adıdır.

Geri dönüş değeri

Çıktı, komutu istenen kapta çalıştıracaktır.

Misal

sudo docker run hello-world

Bu komut, hello-world görüntü, halihazırda mevcut değilse ve hello-world bir kap olarak.

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu alacağız -

Ubuntu işletim sistemini Windows'ta çalıştırmak istiyorsanız, aşağıdaki komutu kullanarak Ubuntu Görüntüsünü indirebilirsiniz -

Docker run –it ubuntu bash

Burada Docker'a komutu etkileşimli modda çalıştırmasını söylüyorsunuz. –it seçeneği.

Çıktıda Ubuntu görüntüsünün indirildiğini ve çalıştırıldığını görebilir ve ardından Ubuntu kapsayıcısında bir kök kullanıcı olarak oturum açarsınız.

Docker Hub, diğer topluluklar tarafından oluşturulan Docker görüntülerini indirmenize olanak tanıyan bulut üzerinde bir kayıt defteri hizmetidir. Ayrıca kendi Docker yerleşik görüntülerinizi Docker hub'ına yükleyebilirsiniz. Bu bölümde, Jenkins Docker imajının Docker hub'dan nasıl indirileceğini ve kullanılacağını göreceğiz.

Docker hub'ın resmi sitesi: https://www.docker.com/community-edition#/add_ons

Step 1 - Öncelikle Docker hub'a basit bir kayıt yapmanız gerekir.

Step 2 - Kaydolduktan sonra Docker Hub'da oturum açacaksınız.

Step 3 - Sonra, Jenkins görüntüsüne göz atalım ve bulalım.

Step 4 - Aynı sayfada aşağı kaydırırsanız Docker'ı görebilirsiniz pullkomut. Bu, Jenkins görüntüsünü yerel Ubuntu sunucusuna indirmek için kullanılacaktır.

Step 5 - Şimdi, Ubuntu sunucusuna gidin ve aşağıdaki komutu çalıştırın -

sudo docker pull jenkins

Jenkins'i çalıştırmak için aşağıdaki komutu çalıştırmanız gerekir -

sudo docker run -p 8080:8080 -p 50000:50000 jenkins

Yukarıdakilerle ilgili aşağıdaki noktalara dikkat edin sudo komut -

  • Biz kullanıyoruz sudo root erişimi ile çalışmasını sağlamak için komut.

  • Buraya, jenkins Docker hub'dan indirmek ve Ubuntu makinemize kurmak istediğimiz görüntünün adıdır.

  • -p konteynere uygun şekilde erişebilmemiz için dahili Docker görüntüsünün port numarasını ana Ubuntu sunucumuzla eşlemek için kullanılır.

Ardından, Ubuntu makinesinde bir konteyner olarak başarıyla çalışan Jenkins'e sahip olacaksınız.

Docker'da her şey Görüntülere dayalıdır. Bir görüntü, bir dosya sistemi ve parametrelerin birleşimidir. Docker'da aşağıdaki komutun bir örneğini ele alalım.

docker run hello-world
  • Docker komutu spesifiktir ve İşletim Sistemindeki Docker programına bir şey yapılması gerektiğini söyler.

  • run komutu, bir görüntünün örneğini oluşturmak istediğimizi belirtmek için kullanılır, buna daha sonra container.

  • Son olarak, "merhaba dünya", kabın yapıldığı görüntüyü temsil eder.

Şimdi, CentOS'u Ubuntu makinemizde çalıştırmak için Docker Hub'da bulunan CentOS imajını nasıl kullanabileceğimize bakalım. Bunu Ubuntu makinemizde aşağıdaki komutu uygulayarak yapabiliriz -

sudo docker run centos –it /bin/bash

Yukarıdakilerle ilgili aşağıdaki noktalara dikkat edin sudo komut -

  • Biz kullanıyoruz sudo ile çalıştığından emin olmak için komut root Giriş.

  • Buraya, centos Docker Hub'dan indirmek ve Ubuntu makinemize kurmak istediğimiz görüntünün adıdır.

  • ─it koşmak istediğimizden bahsetmek için kullanılır interactive mode.

  • /bin/bash CentOS çalışıp çalıştıktan sonra bash kabuğunu çalıştırmak için kullanılır.

Docker Görüntülerini Görüntüleme

Sistemdeki Docker imajlarının listesini görmek için aşağıdaki komutu verebilirsiniz.

docker images

Bu komut, sistemde halihazırda yüklü olan tüm görüntüleri görüntülemek için kullanılır.

Sözdizimi

docker images

Seçenekler

Yok

Geri dönüş değeri

Çıktı, sistemdeki görüntülerin listesini sağlayacaktır.

Misal

sudo docker images

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu verecektir -

Yukarıdaki çıktıdan, sunucunun üç resme sahip olduğunu görebilirsiniz: centos, newcentos, ve jenkins. Her görüntü aşağıdaki özniteliklere sahiptir -

  • TAG - Bu, görüntüleri mantıksal olarak etiketlemek için kullanılır.

  • Image ID - Bu, görüntüyü benzersiz şekilde tanımlamak için kullanılır.

  • Created - Görüntünün oluşturulmasından bu yana geçen gün sayısı.

  • Virtual Size - Resmin boyutu.

Docker Görüntülerini İndirme

Docker kullanılarak Docker Hub'dan görüntüler indirilebilir runkomut. Bunu nasıl yapabileceğimizi ayrıntılı olarak görelim.

Sözdizimi

Aşağıdaki sözdizimi, Docker konteynerinde bir komut çalıştırmak için kullanılır.

docker run image

Seçenekler

  • Image - Bu, kapsayıcıyı çalıştırmak için kullanılan görüntünün adıdır.

Geri dönüş değeri

Çıktı, komutu istenen kapta çalıştıracaktır.

Misal

sudo docker run centos

Bu komut, centos image, zaten mevcut değilse ve işletim sistemini bir kapsayıcı olarak çalıştırın.

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu alacağız -

Şimdi CentOS Docker görüntüsünün indirildiğini göreceksiniz. Şimdi, Docker'ı çalıştırırsakimages sistemdeki görüntülerin listesini görmek için komutunu, centos görüntü de.

Docker Görüntülerini Kaldırma

Sistemdeki Docker görüntüleri, docker rmikomut. Bu komuta daha detaylı bakalım.

docker rmi

Bu komut, Docker görüntülerini kaldırmak için kullanılır.

Sözdizimi

docker rmi ImageID

Seçenekler

  • ImageID - Bu, kaldırılması gereken görüntünün kimliğidir.

Geri dönüş değeri

Çıktı, silinen Görüntünün Görüntü Kimliğini sağlayacaktır.

Misal

sudo docker rmi 7a86f8ffcb25

Buraya, 7a86f8ffcb25 resim kimliğidir newcentos görüntü.

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu verecektir -

Görüntülerde daha fazla Docker komutu görelim.

docker görüntüleri -q

Bu komut, yalnızca görüntülerin Görüntü Kimliklerini döndürmek için kullanılır.

Sözdizimi

docker images

Seçenekler

  • q - Docker komutuna yalnızca Görüntü Kimliğini döndürmesini söyler.

Geri dönüş değeri

Çıktı, Docker ana bilgisayarındaki görüntülerin yalnızca Görüntü Kimliğini gösterecektir.

Misal

sudo docker images -q

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu verecektir -

docker incelemesi

Bu komut, bir görüntünün veya kabın ayrıntılarına bakın.

Sözdizimi

docker inspect Repository

Seçenekler

  • Repository - Bu, Resmin adıdır.

Geri dönüş değeri

Çıktı, Görüntü hakkında ayrıntılı bilgi gösterecektir.

Misal

sudo docker inspect jenkins

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu verecektir -

Kapsayıcılar, Docker run komutu kullanılarak çalıştırılabilen Docker görüntülerinin örnekleridir. Docker'ın temel amacı konteynerleri çalıştırmaktır. Konteynerlerle nasıl çalışılacağını tartışalım.

Bir Kapsayıcı Çalıştırma

Kapsayıcıların çalıştırılması Docker ile yönetilir runkomut. Bir kapsayıcıyı etkileşimli modda çalıştırmak için önce Docker kapsayıcısını başlatın.

sudo docker run –it centos /bin/bash

Ardından Crtl + p'ye basın ve işletim sistemi kabuğunuza döneceksiniz.

Daha sonra Ubuntu sunucusundaki CentOS sistemi örneğinde çalışıyor olacaksınız.

Konteynerlerin Listesi

Makine üzerindeki tüm konteynerler, docker pskomut. Bu komut, o anda çalışan kapsayıcıları döndürmek için kullanılır.

docker ps

Sözdizimi

docker ps

Seçenekler

Yok

Geri dönüş değeri

Çıktı, o anda çalışan kapsayıcıları gösterecektir.

Misal

sudo docker ps

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu verecektir -

Şimdi biraz daha varyasyonlarını görelim docker ps komut.

docker ps -a

Bu komut, sistemdeki tüm konteynerleri listelemek için kullanılır.

Sözdizimi

docker ps -a

Seçenekler

  • ─a - O söyler docker ps sistemdeki tüm kapsayıcıları listelemek için komut.

Geri dönüş değeri

Çıktı tüm kapları gösterecektir.

Misal

sudo docker ps -a

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu verecektir -

liman işçisi geçmişi

Bu komutla, bir konteyner aracılığıyla bir görüntü ile çalıştırılan tüm komutları görebilirsiniz.

Sözdizimi

docker history ImageID

Seçenekler

  • ImageID - Bu, kendisine karşı çalıştırılan tüm komutları görmek istediğiniz Görüntü Kimliğidir.

Geri dönüş değeri

Çıktı, o görüntüye karşı çalıştırılan tüm komutları gösterecektir.

Misal

sudo docker history centos

Yukarıdaki komut, karşı çalıştırılan tüm komutları gösterecektir. centos görüntü.

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu verecektir -

Bu bölümde, kaplarla neler yapabileceğimizi ayrıntılı olarak inceleyeceğiz.

docker top

Bu komutla, bir konteynerdeki en iyi işlemleri görebilirsiniz.

Sözdizimi

docker top ContainerID

Seçenekler

  • ContainerID - Bu, kendisi için en önemli işlemleri görmek istediğiniz Kapsayıcı Kimliğidir.

Geri dönüş değeri

Çıktı, bir kapsayıcı içindeki en üst düzey işlemleri gösterecektir.

Misal

sudo docker top 9f215ed0b0d3

Yukarıdaki komut, bir konteyner içindeki en üst düzey süreçleri gösterecektir.

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu verecektir -

docker stop

Bu komut, çalışan bir kabı durdurmak için kullanılır.

Sözdizimi

docker stop ContainerID

Seçenekler

  • ContainerID - Bu, durdurulması gereken Konteyner ID'sidir.

Geri dönüş değeri

Çıktı, durdurulan kabın kimliğini verecektir.

Misal

sudo docker stop 9f215ed0b0d3

Yukarıdaki komut Docker konteynerini durduracak 9f215ed0b0d3.

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu verecektir -

docker rm

Bu komut, bir konteyneri silmek için kullanılır.

Sözdizimi

docker rm ContainerID

Seçenekler

  • ContainerID - Bu, kaldırılması gereken Konteyner Kimliğidir.

Geri dönüş değeri

Çıktı, kaldırılan kabın kimliğini verecektir.

Misal

sudo docker rm 9f215ed0b0d3

Yukarıdaki komut Docker konteynerini kaldıracak 9f215ed0b0d3.

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu verecektir -

liman işçisi istatistikleri

Bu komut, çalışan bir kabın istatistiklerini sağlamak için kullanılır.

Sözdizimi

docker stats ContainerID

Seçenekler

  • ContainerID - Bu, istatistiklerin sağlanması gereken Kapsayıcı Kimliğidir.

Geri dönüş değeri

Çıktı, Kabın CPU ve Bellek kullanımını gösterecektir.

Misal

sudo docker stats 9f215ed0b0d3

Yukarıdaki komut, Konteynerin CPU ve bellek kullanımını sağlayacaktır. 9f215ed0b0d3.

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu verecektir -

docker eklentisi

Bu komut, çalışan bir konteynere iliştirmek için kullanılır.

Sözdizimi

docker attach ContainerID

Seçenekler

  • ContainerID - Bu, eklemeniz gereken Konteyner Kimliğidir.

Geri dönüş değeri

Yok

Misal

sudo docker attach 07b0b6f434fe

Yukarıdaki komut Docker konteynerine eklenecektir 07b0b6f434fe.

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu verecektir -

Docker konteynerine bağladıktan sonra, o Docker konteynerinde işlem kullanımını görmek için yukarıdaki komutu çalıştırabilirsiniz.

docker pause

Bu komut, çalışan bir kaptaki işlemleri duraklatmak için kullanılır.

Sözdizimi

docker pause ContainerID

Seçenekler

  • ContainerID - Bu, kapsayıcıdaki işlemleri duraklatmanız gereken Kapsayıcı Kimliğidir.

Geri dönüş değeri

Duraklatılan kapsayıcının ContainerID'si.

Misal

sudo docker pause 07b0b6f434fe

Yukarıdaki komut, çalışan bir kapta işlemleri duraklatacaktır. 07b0b6f434fe.

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu verecektir -

docker devam ettirmek

Bu komut, unpause çalışan bir kaptaki işlemler.

Sözdizimi

docker unpause ContainerID

Seçenekler

  • ContainerID - Bu, kapsayıcıdaki işlemleri devam ettirmeniz gereken Kapsayıcı Kimliğidir.

Geri dönüş değeri

Çalışan kapsayıcının ContainerID'si.

Misal

sudo docker unpause 07b0b6f434fe

Yukarıdaki komut, çalışan bir kapsayıcıdaki işlemleri devam ettirecektir: 07b0b6f434fe

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu verecektir -

docker kill

Bu komut, çalışan bir kaptaki işlemleri öldürmek için kullanılır.

Sözdizimi

docker kill ContainerID

Seçenekler

  • ContainerID - Bu, kapsayıcıdaki işlemleri sonlandırmanız gereken Kapsayıcı Kimliği'dir.

Geri dönüş değeri

Çalışan kapsayıcının ContainerID'si.

Misal

sudo docker kill 07b0b6f434fe

Yukarıdaki komut, çalışan kaptaki işlemleri öldürecektir. 07b0b6f434fe.

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu verecektir -

Docker - Container Yaşam Döngüsü

Aşağıdaki çizim bir Docker konteynerinin tüm yaşam döngüsünü açıklamaktadır.

  • Başlangıçta Docker konteyneri, created durum.

  • Daha sonra Docker konteyner, Docker run komut kullanılır.

  • Docker kill command mevcut bir Docker konteynerini öldürmek için kullanılır.

  • Docker pause command mevcut bir Docker konteynerini duraklatmak için kullanılır.

  • Docker stop command mevcut bir Docker konteynerini duraklatmak için kullanılır.

  • Docker run komutu, bir konteyneri bir stopped devlet running durum.

Aşağıdaki görüntü, standart ve geleneksel mimariyi göstermektedir. virtualization.

  • Sunucu, birden çok sanal makineyi barındırmak için kullanılan fiziksel sunucudur.

  • Ana İşletim Sistemi, Linux veya Windows gibi temel makinedir.

  • Hiper Yönetici, sanal makineleri barındırmak için kullanılan VMWare veya Windows Hyper V'dir.

  • Daha sonra, Konuk İşletim Sistemi olarak mevcut hiper yönetici üzerine sanal makineler olarak birden çok işletim sistemi kurarsınız.

  • Daha sonra uygulamalarınızı her bir Konuk İşletim Sisteminin üzerinde barındırırsınız.

Aşağıdaki görüntü, Dockers aracılığıyla etkinleştirilen yeni nesil sanallaştırmayı göstermektedir. Çeşitli katmanlara bir göz atalım.

  • Sunucu, birden çok sanal makineyi barındırmak için kullanılan fiziksel sunucudur. Yani bu katman aynı kalır.

  • Ana İşletim Sistemi, Linux veya Windows gibi temel makinedir. Yani bu katman aynı kalır.

  • Şimdi Docker motoru olan yeni nesil geliyor. Bu, daha önce Docker konteynerleri olarak sanal makineler olan işletim sistemini çalıştırmak için kullanılır.

  • Tüm Uygulamalar artık Docker kapsayıcıları olarak çalışıyor.

Bu mimarinin açık avantajı, Konuk İşletim Sistemi için ekstra donanıma ihtiyacınız olmamasıdır. Her şey Docker kapsayıcıları olarak çalışır.

Docker motorunun iyi yanı, çeşitli işletim sistemlerinde çalışmak üzere tasarlanmış olmasıdır. Daha önce Windows üzerinde kurulumu gördük ve Linux sistemlerinde tüm Docker komutlarını gördük. Şimdi Windows işletim sistemindeki çeşitli Docker komutlarını görelim.

Docker Görüntüleri

Docker'ı çalıştıralım images Windows ana bilgisayarında komut.

Buradan iki resmimiz olduğunu görebiliriz - ubuntu ve hello-world.

Bir Kapsayıcı Çalıştırma

Şimdi Windows Docker ana bilgisayarında bir konteyner çalıştıralım.

Konteyneri çalıştırarak artık Ubuntu konteynırını bir Windows ana bilgisayarında çalıştırabileceğimizi görebiliriz.

Tüm Kapsayıcıları Listeleme

Windows ana bilgisayarındaki tüm kapsayıcıları listeleyelim.

Bir Konteynerin Durdurulması

Şimdi Windows ana bilgisayarında çalışan bir kapsayıcıyı durduralım.

Dolayısıyla, Docker motorunun farklı Docker ana bilgisayarları söz konusu olduğunda oldukça tutarlı olduğunu ve Linux'ta olduğu gibi Windows'ta da çalıştığını görebilirsiniz.

Bu bölümde, Docker'ı yapılandırmak için farklı seçeneklere bakacağız.

hizmet penceresi durdurma

Bu komut Docker'ı durdurmak için kullanılır. daemon süreç.

Sözdizimi

service docker stop

Seçenekler

Yok

Geri dönüş değeri

Docker işleminin durduğunu gösteren bir mesaj.

Misal

sudo service docker stop

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu verecektir -

hizmet penceresi başlangıcı

Bu komut, Docker daemon sürecini başlatmak için kullanılır.

Sözdizimi

service docker start

Seçenekler

Yok

Geri dönüş değeri

Docker işleminin başladığını gösteren bir mesaj.

Misal

sudo service docker start

Çıktı

Yukarıdaki komutu çalıştırdığımızda şu sonucu verecektir -

Varsayılan olarak, bir kapsayıcı başlattığınızda, bir de shell commandkabı aşağıda gösterildiği gibi başlatırken. Bu, konteynerlerle çalışırken önceki bölümlerde gördüğümüz şeydi.

Yukarıdaki ekran görüntüsünde, aşağıdaki komutu verdiğimizi görebilirsiniz -

sudo docker run –it centos /bin/bash

Bu komutu yeni bir konteyner oluşturmak için kullandık ve ardından konteynerden çıkmak için Ctrl + P + Q komutunu kullandık. Konteynerden çıktıktan sonra bile konteynerin varlığını sürdürmesini sağlar.

Docker ile konteynerin hala var olduğunu doğrulayabiliriz pskomut. Direkt olarak konteynerden çıkmamız gerekirse, konteynerin kendisi imha edilirdi.

Artık konteynırlara takmanın ve onları yok etmeye gerek kalmadan temiz bir şekilde çıkmanın daha kolay bir yolu var. Bunu başarmanın bir yolu,nsenter komut.

Koşmadan önce nsenter komutu, önce yüklemeniz gerekir nsentergörüntü. Aşağıdaki komut kullanılarak yapılabilir -

docker run --rm -v /usr/local/bin:/target jpetazzo/nsenter

Kullanmadan önce nsenter komutu, konteynerin İşlem Kimliğini almamız gerekiyor çünkü bu, nsenterkomut. İşlem Kimliğini Docker üzerinden alabilirizinspect command ve aracılığıyla filtrelemek Pid.

Yukarıdaki ekran görüntüsünde görüldüğü gibi, ilk olarak docker psçalışan kapsayıcıları görmek için komut. Ef42a4c5e663 kimliğine sahip çalışan bir konteyner olduğunu görebiliriz.

Daha sonra Docker'ı kullanıyoruz inspect bu kabın yapılandırmasını incelemek için komut verin ve ardından grepyalnızca İşlem Kimliğini filtrelemek için komut. Ve çıktıdan, İşlem Kimliğinin 2978 olduğunu görebiliriz.

Artık işlem kimliğine sahip olduğumuza göre, ilerleyebilir ve nsenter Docker konteynerine eklemek için komut.

nsenter

Bu yöntem, bir kişinin konteynerden çıkmadan bir konteynere bağlanmasına izin verir.

Sözdizimi

nsenter –m –u –n –p –i –t containerID komutu

Seçenekler

  • -u bahsetmek için kullanılır Uts namespace

  • -m bahsetmek için kullanılır mount namespace

  • -n bahsetmek için kullanılır network namespace

  • -p bahsetmek için kullanılır process namespace

  • -i s kapsayıcının etkileşimli modda çalışmasını sağlamak için.

  • -t konteynerin G / Ç akışlarını ana işletim sistemine bağlamak için kullanılır.

  • containerID - Bu, konteynerin kimliğidir.

  • Command - Bu, konteyner içinde çalıştırma komutudur.

Geri dönüş değeri

Yok

Misal

sudo nsenter –m –u –n –p –i –t 2978 /bin/bash

Çıktı

Çıktıdan şu noktaları gözlemleyebiliriz -

  • Komut istemi, bash shell doğrudan verdiğimizde nsenter komut.

  • Daha sonra exitkomut. Şimdi normal olarak kullanmadıysanıznsenterkomut, konteyner imha edilecek. Ama şunu fark edeceksin:nsenter komutu, konteyner hala çalışır durumda.

Önceki bölümlerde, buradan indirilen Centos gibi çeşitli Görüntü dosyalarını gördük. Docker hubbunlardan kapları döndürebilirsiniz. Aşağıda yine bir örnek gösterilmektedir.

Docker kullanırsak imageskomutuyla sistemimizdeki mevcut görüntüleri görebiliriz. Yukarıdaki ekran görüntüsünden iki resim olduğunu görebiliriz:centos ve nsenter.

Ancak Docker, size kendi Docker görüntülerinizi oluşturma yeteneği de verir ve bu, aşağıdakilerin yardımıyla yapılabilir: Docker Files. Docker Dosyası, görüntülerinizin nasıl oluşturulacağına ilişkin talimatlar içeren basit bir metin dosyasıdır.

Aşağıdaki adımlar, bir Docker Dosyası oluşturmaya nasıl devam etmeniz gerektiğini açıklar.

Step 1 - adlı bir dosya oluşturun Docker File ve kullanarak düzenleyin vim. Lütfen dosyanın adının "Dockerfile" ve "D" büyük harf olması gerektiğine dikkat edin.

Step 2 - Aşağıdaki talimatları kullanarak Docker Dosyanızı oluşturun.

#This is a sample Image 
FROM ubuntu 
MAINTAINER [email protected] 

RUN apt-get update 
RUN apt-get install –y nginx 
CMD [“echo”,”Image created”]

Yukarıdaki dosya ile ilgili olarak aşağıdaki noktalara dikkat edilmelidir -

  • İlk satır "# Bu bir örnek Resimdir" bir yorumdur. Docker Dosyasına yorum ekleyebilirsiniz.# komut

  • Bir sonraki satır, FROManahtar kelime. Docker'a, görüntünüzü temel almak istediğiniz temel görüntüyü söyler. Örneğimizde,ubuntu görüntü.

  • Bir sonraki komut, bu imajı koruyacak kişidir. Burada şunu belirtirsiniz:MAINTAINER anahtar kelime ve e-posta kimliğinden bahset.

  • RUNkomutu görüntüye karşı talimatları çalıştırmak için kullanılır. Bizim durumumuzda, önce Ubuntu sistemimizi güncelliyoruz ve ardından nginx sunucusunuubuntu görüntü.

  • Son komut, kullanıcıya bir mesaj görüntülemek için kullanılır.

Step 3- Dosyayı kaydedin. Bir sonraki bölümde, görüntünün nasıl oluşturulacağını tartışacağız.

Docker Dosyamızı son bölümde oluşturduk. Artık Docker Dosyasını oluşturmanın zamanı geldi. Docker Dosyası aşağıdaki komutla oluşturulabilir -

docker build

Bu komut hakkında daha fazla bilgi edinelim.

Docker derlemesi

Bu yöntem, kullanıcıların kendi Docker görüntülerini oluşturmasına olanak tanır.

Sözdizimi

docker build  -t ImageName:TagName dir

Seçenekler

  • -t - resme bir etiketten bahsetmektir

  • ImageName - Resminize vermek istediğiniz isim budur.

  • TagName - Resminize vermek istediğiniz etiket budur.

  • Dir - Docker Dosyasının bulunduğu dizin.

Geri dönüş değeri

Yok

Misal

sudo docker build –t myimage:0.1.

Buraya, myimage Resme verdiğimiz ad ve 0.1 resmimize verdiğimiz etiket numarasıdır.

Docker Dosyası mevcut çalışma dizininde olduğu için "." mevcut çalışma dizinini belirtmek için komutun sonunda.

Çıktı

Çıktıdan, ilk olarak Ubuntu Görüntüsünün Docker Hub'dan indirileceğini göreceksiniz, çünkü makinede yerel olarak mevcut görüntü yok.

Son olarak, yapı tamamlandığında, gerekli tüm komutlar görüntü üzerinde çalışmış olacaktır.

Daha sonra başarıyla oluşturulmuş mesajı ve yeni Görüntünün kimliğini göreceksiniz. Docker'ı çalıştırdığınızdaimages command, daha sonra yeni görüntünüzü görebilirsiniz.

Artık yeni görüntünüzden kaplar oluşturabilirsiniz.

Herkese açık depolar, herkes tarafından kullanılabilen Docker görüntülerini barındırmak için kullanılabilir. Docker Hub'da bulunan görüntülere bir örnek verilebilir. Centos, Ubuntu ve Jenkins gibi görüntülerin çoğu herkese açıktır. Görüntülerimizi Docker Hub'daki herkese açık depoda yayınlayarak da kullanılabilir hale getirebiliriz.

Örneğimiz için, kullanacağız myimage"Docker Dosyaları Oluşturma" bölümünde yerleşik olan depo ve bu görüntüyü Docker Hub'a yükleyin. Docker kayıt defterine ne aktarabileceğimizi görmek için önce Docker ana bilgisayarımızdaki görüntüleri inceleyelim.

Burada biz var myimage:0.1Docker Dosyaları Oluşturma bölümünün bir parçası olarak oluşturulmuş olan görüntü. Bunu Docker genel havuzuna yüklemek için kullanalım.

Aşağıdaki adımlar, bir görüntüyü genel havuza nasıl yükleyebileceğinizi açıklamaktadır.

Step 1- Docker Hub'da oturum açın ve deponuzu oluşturun. Bu, görüntünüzün depolanacağı depodur. Githttps://hub.docker.com/ ve kimlik bilgilerinizle giriş yapın.

Step 2 - Yukarıdaki ekranda "Depo Oluştur" düğmesine tıklayın ve adı ile bir depo oluşturun demorep. Deponun görünürlüğünün herkese açık olduğundan emin olun.

Depo oluşturulduktan sonra, not alın pull depoya eklenen komut.

pull Depomuzda kullanılacak komut aşağıdaki gibidir -

docker pull demousr/demorep

Step 3- Şimdi Docker Host'a geri dönün. Burada etiketlememiz gerekiyormyimageDocker Hub'da oluşturulan yeni depoya. Bunu Docker aracılığıyla yapabiliriztag command.

Bununla ilgili daha fazlasını öğreneceğiz tag command bu bölümün ilerleyen kısımlarında.

Step 4- Komut isteminden Docker Hub deposunda oturum açmak için Docker oturum açma komutunu verin. Docker oturum açma komutu sizden Docker Hub deposunun kullanıcı adını ve parolasını soracaktır.

Step 5- Görüntü etiketlendikten sonra, şimdi görüntüyü Docker Hub havuzuna gönderme zamanı. Bunu Docker aracılığıyla yapabilirizpushkomut. Bu bölümün ilerleyen kısımlarında bu komut hakkında daha fazla bilgi edineceğiz.

docker etiketi

Bu yöntem, bir görüntünün ilgili depoya etiketlenmesine izin verir.

Sözdizimi

docker tag imageID Repositoryname

Seçenekler

  • imageID - Bu, bilgi havuzunda etiketlenmesi gereken ImageID'dir.

  • Repositoryname - Bu, ImageID'nin etiketlenmesi gereken depo adıdır.

Geri dönüş değeri

Yok

Misal

sudo docker tag ab0c1d3744dd demousr/demorep:1.0

Çıktı

Yukarıdaki örneğin örnek bir çıktısı aşağıda verilmiştir.

docker push

Bu yöntem, görüntülerin Docker Hub'a gönderilmesine izin verir.

Sözdizimi

docker push Repositoryname

Seçenekler

  • Repositoryname - Bu, Docker Hub'a gönderilmesi gereken depo adıdır.

Geri dönüş değeri

Docker Hub'a gönderilen deponun uzun kimliği.

Misal

sudo docker push demousr/demorep:1.0

Çıktı

Docker Hub sayfasına geri dönüp deponuza giderseniz, depoda etiket adını göreceksiniz.

Şimdi yüklediğimiz depoyu Docker ana bilgisayarımıza çekmeyi deneyelim. Önce görüntüleri silelim,myimage:0.1 ve demousr/demorep:1.0, yerel Docker ana bilgisayarından. Docker'ı kullanalımpull command Depoyu Docker Hub'dan çekmek için.

Yukarıdaki ekran görüntüsünden Docker'ın pull command yeni depomuzu Docker Hub'dan alıp makinemize yerleştirdi.

Docker'da, konteynerlerin kendileri bağlantı noktalarında çalışan uygulamalara sahip olabilir. Bir kapsayıcı çalıştırdığınızda, kapsayıcıdaki uygulamaya bir bağlantı noktası numarası aracılığıyla erişmek istiyorsanız, kabın bağlantı noktası numarasını Docker ana bilgisayarının bağlantı noktası numarasıyla eşlemeniz gerekir. Bunun nasıl başarılabileceğine dair bir örneğe bakalım.

Örneğimizde, Jenkins konteynerini Docker Hub'dan indireceğiz. Daha sonra Jenkins port numarasını Docker ana bilgisayarındaki port numarasıyla eşleştireceğiz.

Step 1 - Öncelikle, Docker Hub'da basit bir kayıt yapmanız gerekir.

Step 2 - Kaydolduktan sonra Docker Hub'da oturum açacaksınız.

Step 3 - Sonra, Jenkins görüntüsüne göz atalım ve bulalım.

Step 4 - Aynı sayfada aşağı kaydırırsanız Docker'ı görebilirsiniz pullkomut. Bu, Jenkins Görüntüsünü yerel Ubuntu sunucusuna indirmek için kullanılacaktır.

Step 5 - Şimdi Ubuntu sunucusuna gidin ve komutu çalıştırın -

sudo docker pull jenkins

Step 6 - Konteyner tarafından hangi portların açığa çıktığını anlamak için Docker kullanmalısınız inspect command görüntüyü incelemek için.

Şimdi bunun hakkında daha fazlasını öğrenelim inspect komut.

docker incelemesi

Bu yöntem, konteynır veya görüntü hakkında düşük seviyeli bilgilerin döndürülmesine izin verir.

Sözdizimi

docker inspect Container/Image

Seçenekler

  • Container/Image - İncelenecek kap veya görüntü

Geri dönüş değeri

JSON formatındaki görüntünün veya kapsayıcının alt düzey bilgileri.

Misal

sudo docker inspect jenkins

Çıktı

Çıktısı inspectkomutu bir JSON çıktısı verir. Çıktıya bakarsak, "ExposedPorts" bölümünde bir bölüm olduğunu ve iki port olduğunu görebiliriz. Birdata port 8080 ve diğeri control port 50000.

Jenkins'i çalıştırmak ve bağlantı noktalarını eşlemek için Docker'ı değiştirmeniz gerekir runkomutunu girin ve bağlantı noktası eşleştirmesini belirten 'p' seçeneğini ekleyin. Yani, aşağıdaki komutu çalıştırmanız gerekir -

sudo docker run -p 8080:8080 -p 50000:50000 jenkins

Bağlantı noktası numarası eşlemesinin sol tarafı, eşlenecek Docker ana bilgisayar bağlantı noktasıdır ve sağ tarafı Docker kapsayıcı bağlantı noktası numarasıdır.

Tarayıcıyı açıp 8080 numaralı bağlantı noktasındaki Docker ana bilgisayarına gittiğinizde, Jenkins'in çalışır durumda olduğunu göreceksiniz.

Kendi özel depolarınıza sahip olmanız gerekebilir. Depoları Docker Hub'da barındırmak istemeyebilirsiniz. Bunun için Docker'dan bir depo konteyneri var. Kayıt defteri için konteyneri nasıl indirip kullanabileceğimizi görelim.

Step 1 - Docker'ı kullanın runözel kayıt defterini indirmek için komut. Bu, aşağıdaki komut kullanılarak yapılabilir.

sudo docker run –d –p 5000:5000 –-name registry registry:2

Yukarıdaki komutla ilgili aşağıdaki noktalara dikkat edilmelidir -

  • Registry Docker tarafından yönetilen ve özel depoları barındırmak için kullanılabilen konteynerdir.

  • Konteynerin maruz kaldığı port numarası 5000'dir. –p command, aynı bağlantı noktası numarasını yerel ana makinemizdeki 5000 bağlantı noktası numarasıyla eşleştiriyoruz.

  • Docker ana bilgisayarında ayırt etmek için kayıt kabını "2" olarak etiketliyoruz.

  • –dseçeneği, kabı ayrılmış modda çalıştırmak için kullanılır. Bu, konteynerin arka planda çalışabilmesi içindir.

Step 2 - Hadi yapalım docker ps kayıt defteri kapsayıcısının gerçekten çalıştığını görmek için.

Şimdi kayıt kapsayıcısının gerçekten çalıştığını doğruladık.

Step 3- Şimdi, yerel depomuza aktarabilmemiz için mevcut resimlerimizden birini etiketleyelim. Örneğimizde,centos görüntü yerel olarak mevcutsa, onu özel depomuza etiketleyeceğiz ve bir etiket adı ekleyeceğiz. centos.

sudo docker tag 67591570dd29 localhost:5000/centos

Yukarıdaki komutla ilgili aşağıdaki noktalara dikkat edilmelidir -

  • 67591570dd29 görüntü kimliğini ifade eder centos görüntü.

  • localhost:5000 özel depomuzun yeridir.

  • Depo adını şu şekilde etiketliyoruz: centos özel depomuzda.

Step 4 - Şimdi Docker'ı kullanalım push depoyu özel depomuza gönderme komutu.

sudo docker push localhost:5000/centos

Burada zorluyoruz centos görüntü, barındırılan özel havuza localhost:5000.

Step 5 - Şimdi sahip olduğumuz yerel görüntüleri silelim centos kullanmak docker rmikomutlar. Daha sonra gerekli olanı indirebilirizcentos özel depomuzdan görüntü.

sudo docker rmi centos:latest 
sudo docker rmi 67591570dd29

Step 6 - Artık elimizde yok centos yerel makinemizdeki görüntüler, artık aşağıdaki Docker'ı kullanabiliriz pull çekme komutu centos özel depomuzdan görüntü.

sudo docker pull localhost:5000/centos

Burada çekiyoruz centos görüntü, barındırılan özel havuza localhost:5000.

Şimdi sisteminizde görüntüleri görüyorsanız, centos görüntü de.

Kendi özel görüntülerimizi oluşturmak için Docker File'ı nasıl kullanacağımızı zaten öğrendik. Şimdi konteynerler oluşturmak için kullanılabilecek bir web sunucusu imajını nasıl oluşturabileceğimize bakalım.

Örneğimizde, imajımızı oluşturmak için Ubuntu'daki Apache Web Sunucusunu kullanacağız. Web sunucusu Docker dosyamızı oluşturmak için aşağıda verilen adımları takip edelim.

Step 1- İlk adım, Docker Dosyamızı oluşturmaktır. Kullanalımvim ve aşağıdaki bilgilerle bir Docker Dosyası oluşturun.

FROM ubuntu 
RUN apt-get update 
RUN apt-get install –y apache2 
RUN apt-get install –y apache2-utils 
RUN apt-get clean 
EXPOSE 80 CMD [“apache2ctl”, “-D”, “FOREGROUND”]

Yukarıdaki ifadelerle ilgili olarak aşağıdaki noktalara dikkat edilmesi gerekir -

  • İlk olarak imajımızı Ubuntu temel imajından oluşturuyoruz.

  • Sonra, Ubuntu sistemindeki tüm paketleri güncellemek için RUN komutunu kullanacağız.

  • Ardından, resmimize apache2'yi kurmak için RUN komutunu kullanıyoruz.

  • Ardından, imajımıza gerekli apache2 paketlerini kurmak için RUN komutunu kullanıyoruz.

  • Ardından, sistemden gereksiz dosyaları temizlemek için RUN komutunu kullanıyoruz.

  • EXPOSE komutu, kaptaki Apache'nin 80 numaralı bağlantı noktasını Docker ana bilgisayarına göstermek için kullanılır.

  • Son olarak, CMD komutu arka planda apache2'yi çalıştırmak için kullanılır.

Dosya ayrıntıları girildiğine göre, dosyayı kaydetmeniz yeterlidir.

Step 2 - Docker'ı çalıştırın buildDocker dosyasını oluşturmak için komut. Aşağıdaki komut kullanılarak yapılabilir -

sudo docker build –t=”mywebserver” .

İmajımızı olarak etiketliyoruz mywebserver. Görüntü oluşturulduktan sonra, dosyanın oluşturulduğuna dair başarılı bir mesaj alacaksınız.

Step 3- Web sunucusu dosyası oluşturulduğuna göre, artık görüntüden bir kapsayıcı oluşturmanın zamanı geldi. Bunu Docker ile yapabilirizrun komut.

sudo docker run –d –p 80:80 mywebserver

Yukarıdaki komutla ilgili aşağıdaki noktalara dikkat edilmelidir -

  • Konteynerin açığa çıkardığı port numarası 80'dir. –p komutu, aynı port numarasını localhost'umuzdaki 80 port numarası ile eşleştiriyoruz.

  • –dseçeneği, kabı ayrılmış modda çalıştırmak için kullanılır. Bu, kabın arka planda çalışabilmesi içindir.

Web tarayıcınızda Docker ana bilgisayarının 80 numaralı bağlantı noktasına giderseniz, şimdi Apache'nin çalışır durumda olduğunu göreceksiniz.

Docker'da birçok yönerge komutu bulunur. Bunlar Docker Dosyasına yerleştirilen komutlardır. Mevcut olanlara bakalım.

CMD Talimatı

Bu komut, konteyner yürütüldüğünde çalışma zamanında bir komutu yürütmek için kullanılır.

Sözdizimi

CMD command param1

Seçenekler

  • command - Bu, kapsayıcı başlatıldığında çalıştırılacak komuttur.

  • param1 - Bu, komuta girilen parametredir.

Geri dönüş değeri

Komut buna göre yürütülecektir.

Misal

Örneğimizde, basit bir gireceğiz Hello World Docker Dosyamızda echo yapın ve bir imaj oluşturun ve buradan bir konteyner başlatın.

Step 1 - Docker Dosyasını aşağıdaki komutlarla oluşturun -

FROM ubuntu 
MAINTAINER [email protected] 
CMD [“echo” , “hello world”]

Burada CMD sadece yazdırmak için kullanılır hello world.

Step 2 - Docker'ı kullanarak görüntüyü oluşturun build komut.

Step 3 - Görüntüden bir kap çalıştırın.

GİRİŞ NOKTASI

Bu komut, kapsayıcı için çalışma zamanında komutları yürütmek için de kullanılabilir. Ancak ENTRYPOINT komutu ile daha esnek olabiliriz.

Sözdizimi

ENTRYPOINT command param1

Seçenekler

  • command - Bu, kapsayıcı başlatıldığında çalıştırılacak komuttur.

  • param1 - Bu, komuta girilen parametredir.

Geri dönüş değeri

Komut buna göre yürütülecektir.

Misal

ENTRYPOINT hakkında daha fazla bilgi edinmek için bir örneğe bakalım. Örneğimizde, basit bir gireceğizecho Docker Dosyamızda komut verin ve bir görüntü oluşturun ve buradan bir konteyner başlatın.

Step 1 - Docker Dosyasını aşağıdaki komutlarla oluşturun -

FROM ubuntu 
MAINTAINER [email protected] 
ENTRYPOINT [“echo”]

Step 2 - Docker'ı kullanarak görüntüyü oluşturun build komut.

Step 3 - Görüntüden bir kap çalıştırın.

ENV

Bu komut, kaptaki ortam değişkenlerini ayarlamak için kullanılır.

Sözdizimi

ENV key value

Seçenekler

  • Key - Bu, ortam değişkeninin anahtarıdır.

  • value - Bu, ortam değişkeninin değeridir.

Geri dönüş değeri

Komut buna göre yürütülecektir.

Misal

Örneğimizde, basit bir gireceğiz echo Docker Dosyamızda komut verin ve bir görüntü oluşturun ve buradan bir konteyner başlatın.

Step 1 - Docker Dosyasını aşağıdaki komutlarla oluşturun -

FROM ubuntu 
MAINTAINER [email protected] 
ENV var1=Tutorial var2=point

Step 2 - Docker'ı kullanarak görüntüyü oluşturun build komut.

Step 3 - Görüntüden bir kap çalıştırın.

Step 4 - Son olarak, env ortam değişkenlerini görmek için komut.

WORKDIR

Bu komut, konteynerin çalışma dizinini ayarlamak için kullanılır.

Sözdizimi

WORKDIR dirname

Seçenekler

  • dirname- Yeni çalışma dizini. Dizin yoksa eklenecektir.

Geri dönüş değeri

Komut buna göre yürütülecektir.

Misal

Örneğimizde, basit bir gireceğiz echo Docker Dosyamızda komut verin ve bir görüntü oluşturun ve buradan bir konteyner başlatın.

Step 1 - Docker Dosyasını aşağıdaki komutlarla oluşturun -

FROM ubuntu 
MAINTAINER [email protected] 
WORKDIR /newtemp 
CMD pwd

Step 2 - Docker'ı kullanarak görüntüyü oluşturun build komut.

Step 3 - Görüntüden bir kap çalıştırın.

Kapsayıcı Bağlantısı, birden çok kapsayıcının birbirine bağlanmasına olanak tanır. Bağlantı noktalarını açığa çıkarmaktan daha iyi bir seçenektir. Adım adım gidelim ve nasıl çalıştığını öğrenelim.

Step 1 - Henüz yoksa Jenkins görüntüsünü Jenkins kullanarak indirin pull komut.

Step 2 - Görüntü mevcut olduğunda, kabı çalıştırın, ancak bu sefer, kapsayıcı için bir ad belirtebilirsiniz. –-nameseçeneği. Bu bizim olacaksource container.

Step 3- Sonra, hedef kapsayıcıyı başlatma zamanı, ancak bu sefer onu kaynak kapsayıcımıza bağlayacağız. Hedef kapsayıcımız için standart Ubuntu imajını kullanacağız.

Ne zaman yaparsan docker ps, her iki kabın da çalıştığını göreceksiniz.

Step 4 - Şimdi alıcı konteynere takın.

Sonra çalıştırın envkomut. Kaynak kapsayıcıya bağlanmak için yeni değişkenler göreceksiniz.

Depolama Sürücüleri

Docker, birinin temeldeki depolama aygıtlarıyla çalışmasına izin veren birden çok depolama sürücüsüne sahiptir. Aşağıdaki tablo, depolama sürücüleri için kullanılan teknoloji ile birlikte farklı depolama sürücülerini gösterir.

Teknoloji Depolama Sürücüsü
OverlayFS overlay veya overlay2
AUFS aufs
Btrfs brtfs
Aygıt Yöneticisi aygıt Yöneticisi
VFS vfs
ZFS zfs

Şimdi çeşitli depolama sürücülerini kullanacağınız bazı örnekleri tartışalım -

AUFS

  • Bu kararlı bir sürücüdür; üretime hazır uygulamalar için kullanılabilir.

  • İyi bir bellek kullanımına sahiptir ve kapsayıcılar için sorunsuz bir Docker deneyimi sağlamak için iyidir.

  • Bu sürücü ile ilişkili dikkate alınması gereken yüksek yazma etkinliği vardır.

  • Hizmet tipi olarak Platform olan sistemler için iyidir.

Cihaz Haritacısı

  • Bu kararlı bir sürücüdür; sorunsuz bir Docker deneyimi sağlar.

  • Bu sürücü, laboratuvardaki uygulamaları test etmek için iyidir.

  • Bu sürücü, ana Linux çekirdeği işlevselliği ile uyumludur.

Btrfs

  • Bu sürücü, ana Linux çekirdeği işlevselliği ile uyumludur.

  • Bu sürücü ile ilişkili dikkate alınması gereken yüksek yazma etkinliği vardır.

  • Bu sürücü, birden çok derleme havuzuna sahip olduğunuz durumlar için iyidir.

Ovelay

  • Bu kararlı bir sürücüdür ve ana Linux çekirdeği işlevselliği ile uyumludur.

  • Hafıza kullanımı iyidir.

  • Bu sürücü, laboratuvardaki uygulamaları test etmek için iyidir.

ZFS

  • Bu kararlı bir sürücüdür ve laboratuvardaki uygulamaları test etmek için iyidir.

  • Platform-as-a-Service tipi işleyen sistemler için iyidir.

Kullanılan depolama sürücüsünü görmek için, docker info komut.

Sözdizimi

docker info

Seçenekler

Yok

Geri dönüş değeri

Komut, Docker Ana Bilgisayarına yüklenen Docker bileşeniyle ilgili tüm ilgili bilgileri sağlayacaktır.

Misal

sudo docker info

Çıktı

Aşağıdaki çıktı, kullanılan ana sürücünün aufs sürücü ve kök dizininin /var/lib/docker/aufs.

Veri Hacimleri

Docker'da, kapsayıcılar arasında paylaşılabilen ayrı bir biriminiz vardır. Bunlar olarak bilinirdata volumes. Veri hacminin bazı özellikleri şunlardır:

  • Kapsayıcı oluşturulduğunda başlatılırlar.
  • Paylaşılabilir ve birçok konteyner arasında yeniden kullanılabilirler.
  • Birimin kendisinde herhangi bir değişiklik doğrudan yapılabilir.
  • Kapsayıcı silindikten sonra bile var olurlar.

Jenkins kapsayıcımıza bakalım. Hadi yapalımdocker inspectBu görüntünün ayrıntılarını görmek için. Çıktısını yazmak için aşağıdaki komutu verebiliriz.docker inspect bir metin dosyasına komut verin ve ardından dosyayı uygun şekilde görüntüleyin.

sudo docker inspect Jenkins > tmp.txt

Metin dosyasını kullanarak görüntülediğinizde more commandolarak bir giriş göreceksiniz JENKINS_HOME=/var/Jenkins_home.

Bu, konteyner içinde Jenkins görüntüsü aracılığıyla yapılan eşlemedir.

Şimdi, kapsayıcıdaki hacmi yerel bir birimle eşlemek istediğinizi varsayalım, o zaman kabı başlatırken –v seçeneğini belirlemeniz gerekir. Aşağıda bir örnek gösterilmiştir -

sudo docker run –d –v /home/demo:/var/jenkins_home –p 8080:8080 –p 50000:50000 jenkins

–V seçeneği, kaptaki hacmi eşlemek için kullanılır. /var/jenkins_home Docker Host'umuzdaki bir konuma /home/demo.

Şimdi gidersen /home/demo Konteynırınızı başlattıktan sonra Docker Ana Bilgisayarınızdaki konum, orada bulunan tüm konteyner dosyalarını göreceksiniz.

Bir Konteyner için Depolama Sürücüsünü Değiştirme

Bir konteyner için kullanılan depolama sürücüsünü değiştirmek isterseniz, bunu konteyneri başlatırken yapabilirsiniz. Bu, kullanılarak yapılabilir.–volume-driver parametresini kullanırken docker runkomut. Aşağıda bir örnek verilmiştir -

sudo docker run –d --volume-driver=flocker 
   –v /home/demo:/var/jenkins_home –p 8080:8080 –p 50000:50000 jenkins

–volume-driver seçeneği, konteyner için başka bir depolama sürücüsü belirtmek için kullanılır.

Sürücünün değiştirildiğini onaylamak için önce şunu kullanalım: docker psçalışan kapsayıcıları görmek ve kapsayıcı kimliğini almak için komut. Öyleyse, önce aşağıdaki komutu verin -

sudo docker ps

Sonra bir yayınlayın docker inspect konteynere karşı koyun ve çıktıyı komutu kullanarak bir metin dosyasına koyun.

sudo docker inspect 9bffb1bfebee > temp.txt

Metin dosyasına göz atarsanız ve yazan satıra giderseniz VolumeDriver, sürücü adının değiştirildiğini göreceksiniz.

Bir Birim Oluşturmak

Kullanılarak önceden bir birim oluşturulabilir. dockerkomut. Bu komut hakkında daha fazla bilgi edinelim.

Sözdizimi

docker volume create –-name=volumename –-opt options

Seçenekler

  • name - Bu, oluşturulması gereken birimin adıdır.

  • opt - Bunlar birimi oluştururken sağlayabileceğiniz seçeneklerdir.

Geri dönüş değeri

Komut, oluşturulan birimin adını çıkaracaktır.

Misal

sudo docker volume create –-name = demo –opt o = size = 100m

Yukarıdaki komutta, 100MB boyutunda ve demo adıyla bir hacim oluşturuyoruz.

Çıktı

Yukarıdaki komutun çıktısı aşağıda gösterilmiştir -

Tüm Ciltleri Listeleme

Ayrıca tüm docker volumes bir docker host. Bu komutla ilgili daha fazla ayrıntı aşağıda verilmiştir -

Sözdizimi

docker volume ls

Seçenekler

Yok

Geri dönüş değeri

Komut, tüm ciltlerin çıktısını alacaktır. docker host.

Misal

sudo docker volume ls

Çıktı

Yukarıdaki komutun çıktısı aşağıda gösterilmiştir -

Docker, kapların diğer kapsayıcılarla ve ayrıca Docker Ana Bilgisayarı ile iletişim kurabilmesi için ağ oluşturma yönleriyle ilgilenir. Eğer yaparsanifconfigDocker Host üzerinde Docker Ethernet adaptörünü göreceksiniz. Bu bağdaştırıcı, Docker, Docker Ana Bilgisayarına kurulduğunda oluşturulur.

Bu, Docker Host ve Linux Host arasında bir köprüdür. Şimdi Docker'da ağ oluşturma ile ilgili bazı komutlara bakalım.

Tüm Docker Ağlarını Listeleme

Bu komut, ana bilgisayardaki Docker ile ilişkili tüm ağları listelemek için kullanılabilir.

Sözdizimi

docker network ls

Seçenekler

Yok

Geri dönüş değeri

Komut, Docker Ana Bilgisayarındaki tüm ağları çıkaracaktır.

Misal

sudo docker network ls

Çıktı

Yukarıdaki komutun çıktısı aşağıda gösterilmiştir.

Docker ağını inceleme

Docker ile ilişkilendirilmiş ağ hakkında daha fazla ayrıntı görmek istiyorsanız Docker'ı kullanabilirsiniz. network inspect komut.

Sözdizimi

docker network inspect networkname

Seçenekler

  • networkname - Bu, incelemeniz gereken ağın adıdır.

Geri dönüş değeri

Komut, ağla ilgili tüm ayrıntıları çıkaracaktır.

Misal

sudo docker network inspect bridge

Çıktı

Yukarıdaki komutun çıktısı aşağıda gösterilmiştir -

Şimdi bir konteyner çalıştıralım ve ağı tekrar incelediğimizde ne olacağını görelim. Aşağıdaki komutla bir Ubuntu kabını döndürelim -

sudo docker run –it ubuntu:latest /bin/bash

Şimdi aşağıdaki komutla ağ ismimizi incelersek, artık konteynerin köprüye bağlandığını göreceksiniz.

sudo docker network inspect bridge

Kendi Yeni Ağınızı Oluşturmak

Container'lar başlatılmadan önce Docker'da bir ağ oluşturulabilir. Bu, aşağıdaki komutla yapılabilir -

Sözdizimi

docker network create –-driver drivername name

Seçenekler

  • drivername - Bu, ağ sürücüsü için kullanılan addır.

  • name - Bu, ağa verilen addır.

Geri dönüş değeri

Komut, yeni ağ için uzun kimliği çıkaracaktır.

Misal

sudo docker network create –-driver bridge new_nw

Çıktı

Yukarıdaki komutun çıktısı aşağıda gösterilmiştir -

Artık kapsayıcıyı başlatırken yeni ağı ekleyebilirsiniz. Öyleyse, aşağıdaki komutla bir Ubuntu kabını döndürelim -

sudo docker run –it –network=new_nw ubuntu:latest /bin/bash

Ve şimdi aşağıdaki komutla ağı incelediğinizde, ağa bağlı kapsayıcıyı göreceksiniz.

sudo docker network inspect new_nw

Node.js, sunucu tarafı uygulamaları geliştirmek için kullanılan bir JavaScript çerçevesidir. Çeşitli işletim sistemlerinde çalışmak üzere geliştirilmiş açık kaynaklı bir çerçevedir. Node.js, geliştirme için popüler bir çerçeve olduğu için Docker, Node.js uygulamaları için de destek sağlamıştır.

Şimdi Node.js için Docker konteynerini kurmak ve çalıştırmak için çeşitli adımları göreceğiz.

Step 1- İlk adım, görüntüyü Docker Hub'dan çekmektir. Docker Hub'da oturum açtığınızda, aşağıda gösterildiği gibi Node.js görüntüsünü arayabilecek ve görebileceksiniz. Arama kutusuna Düğüm yazmanız ve arama sonuçlarında görünen düğüm (resmi) bağlantısını tıklamanız yeterlidir.

Step 2 - Docker'ın pull Docker Hub'daki deponun ayrıntılarında düğüm için komut.

Step 3 - Docker Host üzerinde Docker'ı kullanın pull Docker Hub'dan en son düğüm görüntüsünü indirmek için yukarıda gösterildiği gibi komutu.

Bir kere pull tamamlandığında bir sonraki adıma geçebiliriz.

Step 4 - Docker Host üzerinde, vimeditörü ve bir Node.js örnek dosyası oluşturun. Bu dosyada, komut istemine "HelloWorld" i görüntülemek için basit bir komut ekleyeceğiz.

Node.js dosyasında aşağıdaki ifadeyi ekleyelim -

Console.log(‘Hello World’);

Bu, Node.js üzerinden çalıştırdığımızda "Merhaba Dünya" ifadesini çıkaracaktır.

Dosyayı kaydettiğinizden emin olun ve ardından bir sonraki adıma geçin.

Step 5 - Node.js betiğimizi Node Docker konteynerini kullanarak çalıştırmak için aşağıdaki ifadeyi yürütmemiz gerekir -

sudo docker run –it –rm –name = HelloWorld –v “$PWD”:/usr/src/app 
   –w /usr/src/app node node HelloWorld.js

Yukarıdaki komutla ilgili aşağıdaki noktalara dikkat edilmelidir -

  • –rm seçeneği kabı çalıştırıldıktan sonra çıkarmak için kullanılır.

  • "HelloWorld" isimli konteynere bir isim veriyoruz.

  • Kaptaki hacmi haritalamaktan bahsediyoruz. /usr/src/appmevcut çalışma rehberimize. Bu, düğüm kabının Docker Ana Bilgisayarındaki çalışma dizinimizde bulunan HelloWorld.js betiğimizi alması için yapılır.

  • –w seçeneği, Node.js tarafından kullanılan çalışma dizinini belirtmek için kullanılır.

  • İlk düğüm seçeneği, düğüm görüntüsünün çalıştırılmasını belirtmek için kullanılır.

  • İkinci düğüm seçeneği, düğüm konteynerinde düğüm komutunun çalıştırılmasından bahsetmek için kullanılır.

  • Ve son olarak senaryonuzun isminden bahsediyoruz.

Daha sonra aşağıdaki çıktıyı alacağız. Ve çıktıdan, Node kapsayıcısının bir kap olarak çalıştığını ve HelloWorld.js betiğini çalıştırdığını açıkça görebiliriz.

MongoDB, günümüzün birçok web uygulaması tarafından kullanılan ünlü bir belge odaklı veritabanıdır. MongoDB, geliştirme için popüler bir veritabanı olduğundan, Docker, MongoDB için destek almasını da sağlamıştır.

Şimdi MongoDB için Docker konteynerini kurmak ve çalıştırmak için çeşitli adımları göreceğiz.

Step 1- İlk adım, görüntüyü Docker Hub'dan çekmektir. Docker Hub'da oturum açtığınızda, aşağıda gösterildiği gibi Mongo için görüntü arayabilecek ve görebileceksiniz. Arama kutusuna Mongo yazıp arama sonuçlarında görünen Mongo (resmi) bağlantısını tıklamanız yeterlidir.

Step 2 - Docker'ın pull Docker Hub'daki deponun ayrıntılarında Mongo için komut.

Step 3 - Docker Host üzerinde Docker'ı kullanın pull Docker Hub'dan en son Mongo görüntüsünü indirmek için yukarıda gösterildiği gibi komutunu verin.

Step 4- Artık Mongo için imajımız olduğuna göre, önce MongoDB için örneğimiz olacak bir MongoDB konteyneri çalıştıralım. Bunun için aşağıdaki komutu vereceğiz -

sudo docker run -it -d mongo

Yukarıdaki komutla ilgili aşağıdaki noktalar not edilebilir -

  • –it seçeneği, kapsayıcıyı etkileşimli modda çalıştırmak için kullanılır.

  • –d seçeneği, kabı bir arka plan programı işlemi olarak çalıştırmak için kullanılır.

  • Ve son olarak Mongo görüntüsünden bir kap oluşturuyoruz.

Daha sonra docker ps çalışan kapsayıcıları görmek için komut -

Aşağıdaki noktalara dikkat edin -

  • Konteynerin adı tender_poitras. Bir kabı döndürdüğünüzde kapların adı değişmeye devam ettiği için bu isim farklı olacaktır. Ancak, başlattığınız kabı not edin.

  • Ardından, üzerinde çalıştığı bağlantı noktası numarasına da dikkat edin. 27017 TCP bağlantı noktasında dinliyor.

Step 5- Şimdi, MongoDB veri tabanına bağlanmak için kullanacağımız müşterimiz olarak hareket edecek başka bir konteyner açalım. Bunun için aşağıdaki komutu verelim -

sudo docker run –it –link=tender_poitras:mongo mongo /bin/bash

Yukarıdaki komutla ilgili aşağıdaki noktalar not edilebilir -

  • –it seçeneği, kapsayıcıyı etkileşimli modda çalıştırmak için kullanılır.

  • Şimdi yeni kapsayıcımızı zaten başlatılan MongoDB sunucu kapsayıcısına bağlıyoruz. Burada, zaten başlatılan konteynerin adını belirtmeniz gerekir.

  • Ardından, müşterimiz olarak Mongo kapsayıcısını başlatmak ve ardından bin/bash yeni kabımızda kabuk.

Şimdi yeni konteynerde olacaksınız.

Step 6 - Çalıştır env MongoDB sunucu konteynırına nasıl bağlanılacağının ayrıntılarını görmek için yeni konteynırdaki komutu.

Step 6- Şimdi istemci konteynerinden MongoDB sunucusuna bağlanma zamanı. Bunu aşağıdaki komutla yapabiliriz -

mongo 172.17.0.2:27017

Yukarıdaki komutla ilgili olarak aşağıdaki noktalara dikkat edilmesi gerekir

  • mongo komut istemcidir mongo MongoDB veritabanına bağlanmak için kullanılan komut.

  • IP ve bağlantı noktası numarası, env komut.

Komutu çalıştırdıktan sonra, MongoDB veritabanına bağlanacaksınız.

Daha sonra komut isteminde herhangi bir MongoDB komutunu çalıştırabilirsiniz. Örneğimizde aşağıdaki komutu çalıştırıyoruz -

use demo

Bu komut, bir veritabanı adına geçmek için kullanılan bir MongoDB komutudur. demo. Veritabanı mevcut değilse, oluşturulacaktır.

Artık başarılı bir şekilde bir istemci ve sunucu MongoDB kapsayıcısı oluşturdunuz.

NGINX, sunucu tarafı uygulamaları geliştirmek için kullanılan popüler bir hafif web uygulamasıdır. Çeşitli işletim sistemlerinde çalışmak üzere geliştirilmiş açık kaynaklı bir web sunucusudur. Dan beringinx geliştirme için popüler bir web sunucusudur, Docker, nginx.

Şimdi Docker konteynerini almak için çeşitli adımları göreceğiz. nginx faal ve çalışır durumda.

Step 1- İlk adım, görüntüyü Docker Hub'dan çekmektir. Docker Hub'da oturum açtığınızda, görüntüyü arayabilecek ve görebileceksiniz.nginxAşağıda gösterildiği gibi. Arama kutusuna nginx yazın venginx Arama sonuçlarında çıkan (resmi) bağlantı.

Step 2 - Docker'ın pull için komut nginx Docker Hub'daki deponun ayrıntılarında.

Step 3 - Docker Host üzerinde Docker'ı kullanın pull Docker Hub'dan en son nginx görüntüsünü indirmek için yukarıda gösterildiği gibi komutu.

Step 4 - Şimdi çalıştıralım nginx aşağıdaki komutla konteyner.

sudo docker run –p 8080:80 –d nginx

Üzerindeki limanı açığa çıkarıyoruz. nginx Docker Ana Bilgisayarı üzerindeki 8080 bağlantı noktasına bağlantı noktası 80 olan sunucu.

Komutu çalıştırdıktan sonra, URL'ye göz atarsanız aşağıdaki çıktıyı alırsınız. http://dockerhost:8080. Bu gösteriyor kinginx kapsayıcı çalışıyor ve çalışıyor.

Step 5 - Basit bir web sayfasını barındırabileceğimiz başka bir örneğe bakalım. ngnixkonteyner. Örneğimizde, basit birHelloWorld.html dosyalayın ve bizim nginx konteyner.

Önce adında bir HTML dosyası oluşturalım HelloWorld.html

HTML dosyasına basit bir Hello World satırı ekleyelim.

Ardından aşağıdaki Docker komutunu çalıştıralım.

sudo docker run –p 8080:80 –v 
   “$PWD”:/usr/share/nginx/html:ro –d nginx

Yukarıdaki komutla ilgili aşağıdaki noktalara dikkat edilmelidir -

  • Üzerindeki limanı açığa çıkarıyoruz. nginx Docker Ana Bilgisayarı üzerindeki 8080 bağlantı noktasına bağlantı noktası 80 olan sunucu.

  • Daha sonra, hacmi konteynerin üzerine ekliyoruz. /usr/share/nginx/htmlmevcut çalışma rehberimize. Burası HelloWorld.html dosyamızın saklandığı yerdir.

Şimdi URL'ye göz atarsak http://dockerhost:8080/HelloWorld.html aşağıdaki çıktıyı beklendiği gibi alacağız -

Giriş bölümlerinde Windows üzerinde Docker toolbox kurulumunu gördük. Docker araç kutusu, Docker konteynerlerinin Windows ve MacOS üzerinde çalıştırılabilmesi için geliştirilmiştir. Windows'daki araç kutusu sitesihttps://docs.docker.com/docker-for-windows/

Windows için, Hyper-V etkinleştirilmiş Windows 10 veya Windows Server 2016'ya sahip olmanız gerekir.

Araç kutusu aşağıdaki bileşenlerden oluşur -

  • Docker Engine - Bu, Docker konteynerlerini çalıştırmak için kullanılan temel motor veya Docker daemon olarak kullanılır.

  • Docker Machine - Docker makine komutlarını çalıştırmak için.

  • Docker Compose Docker compose komutlarını çalıştırmak için.

  • Kinematic - Bu, Windows ve Mac OS için oluşturulmuş Docker GUI'dir.

  • Oracle virtualbox

Şimdi Docker araç kutusu ile mümkün olan farklı aktivite türlerini tartışalım.

Powershell'de çalışıyor

Windows 10'daki Docker araç kutusu ile artık Docker komutlarını kapalı olarak çalıştırabilirsiniz powershell. Powershell'i Windows üzerinde açıp Docker version komutunu yazarsanız, kurulu Docker sürümü hakkında gerekli tüm detayları alacaksınız.

Görüntüleri Çekme ve Kapları Çalıştırma

Artık Görüntüleri Docker Hub'dan çekebilir ve Linux'ta yaptığınız gibi powershell'de kapsayıcıları çalıştırabilirsiniz. Aşağıdaki örnek, kısaca Ubuntu görüntüsünün indirilmesini ve kabın görüntüden çalıştırılmasını gösterecektir.

İlk adım, Docker'ı kullanmaktır pull Ubuntu görüntüsünü Docker Hub'dan çekmek için komut.

Sonraki adım, aşağıdakileri kullanarak Docker görüntüsünü çalıştırmaktır. run komut -

docker run –it ubuntu /bin/bash

Komutun Linux'takiyle aynı olduğunu fark edeceksiniz.

Kitematik

Bu, Windows'ta Docker'ın GUI eşdeğeridir. Bu GUI'yi açmak için, görev çubuğuna gidin ve Docker simgesine sağ tıklayın ve Kitematic'i açmayı seçin.

Kitematic GUI'yi indirmenizi isteyecektir. İndirdikten sonra içeriği açın. Adlı bir dosya olacakKitematic.exe. GUI arayüzünü açmak için bu exe dosyasına çift tıklayın.

Daha sonra, GUI aracılığıyla Docker Hub'da oturum açmanız istenecektir. Sadece gerekli kullanıcı adını ve şifreyi girin ve ardından Oturum Aç düğmesine tıklayın.

Giriş yaptıktan sonra, sisteme indirilen tüm görüntüleri arayüzün sol tarafında görebileceksiniz.

Sağ tarafta, Docker Hub'da bulunan tüm görüntüleri bulacaksınız.

Kitematic kullanarak Docker Hub'dan Node imajının nasıl indirileceğini anlamak için bir örnek alalım.

Step 1 - Arama kriterlerine düğüm anahtar kelimesini girin.

Step 2 - tıklayın createresmi Düğüm resmindeki düğme. Daha sonra indirilen görüntüyü göreceksiniz.

Görüntü indirildikten sonra, Düğüm kapsayıcısını çalıştırmaya başlayacaktır.

Step 3 - Eğer şuraya gidersen settings sekmesinde, aşağıda gösterildiği gibi diğer ayar seçeneklerine gidebilirsiniz.

  • General settings - Bu sekmede konteyneri adlandırabilir, yol ayarlarını değiştirebilir ve konteyneri silebilirsiniz.

  • Ports- Burada farklı bağlantı noktası eşleştirmelerini görebilirsiniz. İsterseniz, kendi bağlantı noktası eşleştirmelerinizi oluşturabilirsiniz.

  • Volumes - Burada farklı hacim eşlemelerini görebilirsiniz.

  • Advanced - Kabın gelişmiş ayarlarını içerir.

ASP.Net, Microsoft tarafından sunucu tarafı uygulamaları geliştirmek için sağlanan standart web geliştirme çerçevesidir. ASP.Net, geliştirme için oldukça uzun bir süredir var olduğundan, Docker, ASP.Net desteğine sahip olmasını sağlamıştır.

Bu bölümde, ASP.Net için Docker konteynerini kurmak ve çalıştırmak için çeşitli adımları göreceğiz.

Önkoşullar

ASP.Net'i çalıştırmak için önce aşağıdaki adımların gerçekleştirilmesi gerekir.

Step 1 - Bu yalnızca Windows sistemlerinde çalışabileceğinden, önce Windows 10 veya Windows Server 2016'ya sahip olduğunuzdan emin olmanız gerekir.

Step 2- Ardından, Hyper-V'nin olduğundan ve Kapsayıcıların Windows sisteminde kurulu olduğundan emin olun. Hyper – V ve Kapsayıcıları yüklemek için, Windows Özelliklerini AÇMA veya KAPATMA seçeneğine gidebilirsiniz. Ardından, Hyper-V seçeneğinin ve Kapsayıcıların işaretlendiğinden emin olun ve Tamam düğmesine tıklayın.

Bu işlemden sonra sistemin yeniden başlatılması gerekebilir.

Step 3 - Ardından, aşağıdaki Powershell komutunu kullanmanız gerekir. 1.13.0rc4Docker sürümü. Aşağıdaki komut bunu indirecek ve geçici konumda saklayacaktır.

Invoke-WebRequest "https://test.docker.com/builds/Windows/x86_64/docker-1.13.0-
   rc4.zip" -OutFile "$env:TEMP\docker-1.13.0-rc4.zip" –UseBasicParsing

Step 4 - Ardından, aşağıdakileri kullanarak arşivi genişletmeniz gerekir powershell komut.

Expand-Archive -Path "$env:TEMP\docker-1.13.0-rc4.zip" -DestinationPath $env:ProgramFiles

Step 5 - Ardından, aşağıdakileri kullanarak Docker Dosyalarını ortam değişkenine eklemeniz gerekir powershell komut.

$env:path += ";$env:ProgramFiles\Docker"

Step 6 - Ardından, aşağıdakileri kullanarak Docker Daemon Hizmetini kaydetmeniz gerekir powershell komut.

dockerd --register-service

Step 7 - Son olarak, başlayabilirsiniz docker daemon aşağıdaki komutu kullanarak.

Start-Service Docker

Kullan docker version komut vermek powershell doğrulamak için docker daemon çalışıyor

ASP.Net Container'ı Yükleme

ASP.Net konteynerinin nasıl kurulacağını görelim.

Step 1- İlk adım, görüntüyü Docker Hub'dan çekmektir. Docker Hub'da oturum açtığınızda, görüntüyü arayabilecek ve görebileceksiniz.Microsoft/aspnetAşağıda gösterildiği gibi. Sadece yazınasp arama kutusuna girin ve arama sonuçlarında çıkan Microsoft / aspnet bağlantısını tıklayın.

Step 2 - Docker'ın pull Docker Hub'daki deponun ayrıntılarında ASP.Net için komut.

Step 3 - Docker Host'a gidin ve Docker'ı çalıştırın pullmicrosoft / aspnet görüntüsü için komut. Görüntünün 4,2 GB'a yakın bir yerde oldukça büyük olduğunu unutmayın.

Step 4 - Şimdi aşağıdaki konuma gidin https://github.com/Microsoft/aspnet-docker ve tüm Git deposunu indirin.

Step 5 - adlı bir klasör oluşturun AppC sürücünüzde. Ardından içeriği kopyalayın.4.6.2/sampleC sürücünüze klasör. Örnek dizindeki Docker Dosyasına gidin ve aşağıdaki komutu çalıştırın -

docker build –t aspnet-site-new –build-arg site_root=/

Yukarıdaki komutla ilgili aşağıdaki noktalara dikkat edilmelidir -

  • Adlı yeni bir görüntü oluşturur aspnet-site-new Docker Dosyasından.
  • Kök yol, yerel yol klasörüne ayarlanır.

Step 6- Şimdi konteyneri çalıştırma zamanı. Aşağıdaki komut kullanılarak yapılabilir -

docker run –d –p 8000:80 –name my-running-site-new aspnet-site-new

Step 7- Artık Docker konteynerinde çalışan IIS'ye sahip olacaksınız. Docker konteynerinin IP Adresini bulmak için Docker verebilirsinizinspect komutu aşağıda gösterildiği gibi.

Docker Cloud, Docker tarafından sağlanan ve aşağıdaki işlemleri gerçekleştirebileceğiniz bir hizmettir:

  • Nodes - Docker Cloud'u Azure ve AWS gibi mevcut bulut sağlayıcılarınıza bağlayarak bu ortamlarda kapsayıcıları çalıştırabilirsiniz.

  • Cloud Repository - Kendi depolarınızı saklayabileceğiniz bir yer sağlar.

  • Continuous Integration - ile bağlantı kurun Github ve sürekli bir entegrasyon ardışık düzeni oluşturun.

  • Application Deployment - Altyapıyı ve kapsayıcıları dağıtın ve ölçeklendirin.

  • Continuous Deployment - Dağıtımları otomatikleştirebilir.

Başlangıç

Docker Cloud kullanmaya başlamak için aşağıdaki bağlantıya gidebilirsiniz - https://cloud.docker.com/

Giriş yaptıktan sonra, size aşağıdaki temel arayüz sağlanacaktır -

Bulut Sağlayıcısına Bağlanma

İlk adım, mevcut bir bulut sağlayıcısına bağlanmaktır. Aşağıdaki adımlar size bir Amazon Bulut sağlayıcısına nasıl bağlanacağınızı gösterecektir.

Step 1- İlk adım, doğru AWS anahtarlarına sahip olduğunuzdan emin olmaktır. Bu, şuradan alınabilir:awskonsol. Giriş yapınaws aşağıdaki bağlantıyı kullanarak hesap - https://aws.amazon.com/console/

Step 2- Oturum açtıktan sonra Güvenlik Kimlik Bilgileri bölümüne gidin. Docker Hub'dan kullanılacak erişim anahtarlarını not edin.

Step 3 - Sonra, şurada bir politika oluşturmanız gerekir: awsDocker'ın EC2 bulut sunucularını görüntülemesine izin verecek. Profiller bölümüne gidinaws. TıklaCreate Policy buton.

Step 4 - 'Kendi Politikanızı Oluşturun' üzerine tıklayın ve politika adını şu şekilde verin: dockercloudpolicy ve aşağıda gösterilen politika tanımı.

{ 
   "Version": "2012-10-17", 
   "Statement": [ { 
      "Action": [ 
         "ec2:*", 
         "iam:ListInstanceProfiles" 
      ], 
      "Effect": "Allow", 
      "Resource": "*" 
   } ] 
}

Ardından, Create Policy buton

Step 5 - Ardından, bir roleDocker tarafından AWS'de düğümleri döndürmek için kullanılacak. Bunun için şuraya gidin:Roles AWS'deki bölümüne gidin ve Create New Role seçeneği.

Step 6 - Rolün adını şu şekilde verin: dockercloud-role.

Step 7 - Sonraki ekranda, "Hesaplar Arası Erişim Rolü" ne gidin ve "Hesabınız ile üçüncü taraf bir AWS hesabı arasında erişim sağlayın" ı seçin.

Step 8 - Bir sonraki ekranda aşağıdaki ayrıntıları girin -

  • Hesap Kimliği alanına Docker Bulut hizmetinin kimliğini girin: 689684103426.
  • Harici Kimlik alanına Docker Cloud kullanıcı adınızı girin.

Step 9 - Ardından, Next Step düğmesine basın ve sonraki ekranda, önceki adımda oluşturulan politikayı ekleyin.

Step 10 - Son olarak, rol oluşturulduğunda son ekranda, arn yaratılan rol.

arn:aws:iam::085363624145:role/dockercloud-role

Step 11 - Şimdi geri dön Docker Cloud, seçin Cloud Providersve tıklayın plug symbol Amazon Web Hizmetleri'nin yanında.

Giriş arn rol ve tıklayın Save buton.

Kaydedildikten sonra AWS ile entegrasyon tamamlanmış olacaktır.

Düğümleri Ayarlama

AWS ile entegrasyon tamamlandıktan sonra, bir sonraki adım bir düğüm kurmaktır. Docker Cloud'da Düğümler bölümüne gidin. Düğümlerin kurulumunun önce otomatik olarak bir düğüm kümesi kuracağını unutmayın.

Step 1 - Docker Cloud'da Düğümler bölümüne gidin.

Step 2 - Ardından, AWS'de kurulacak düğümlerin ayrıntılarını verebilirsiniz.

Daha sonra ekranın alt kısmında bulunan Başlatma Düğümü kümesine tıklayabilirsiniz. Düğüm dağıtıldıktan sonra, Düğüm Kümesi ekranında bildirimi alacaksınız.

Hizmet Dağıtma

Bir düğümü dağıttıktan sonraki adım, bir hizmeti dağıtmaktır. Bunu yapmak için aşağıdaki adımları uygulamamız gerekiyor.

Step 1 - Şuraya git Services SectionDocker Cloud'da. TıklaCreate buton

Step 2- Gerekli olan Hizmeti seçin. Bizim durumumuzda seçelimmongo.

Step 3 - Sonraki ekranda, Create & Deployseçeneği. Bu,Mongo düğüm kümenizdeki kapsayıcı.

Dağıtıldıktan sonra, kapsayıcıyı çalışır durumda görebileceksiniz.

Docker, sorunları ortaya çıktıkça ve ortaya çıktıklarında hata ayıklamak için kullanılabilen günlük tutma mekanizmalarına sahiptir. Şurada kayıt vardaemon level ve container level. Farklı günlük kaydı düzeylerine bakalım.

Daemon Günlüğü

Arka plan programı günlük kaydı düzeyinde, dört günlük günlük kaydı düzeyi vardır -

  • Debug - Arka plan programı süreci tarafından işlenen tüm olası bilgileri detaylandırır.

  • Info - Arka plan programı süreci tarafından işlenen tüm hataları + Bilgileri detaylandırır.

  • Errors - Daemon süreci tarafından işlenen tüm hataları detaylandırır.

  • Fatal - Yalnızca daemon süreci tarafından işlenen tüm önemli hataları ayrıntılarıyla anlatır.

Günlük kaydını nasıl etkinleştireceğinizi öğrenmek için aşağıdaki adımları izleyin.

Step 1 - Önce şunu durdurmalıyız docker daemon process, zaten çalışıyorsa. Aşağıdaki komut kullanılarak yapılabilir -

sudo service docker stop

Step 2 - Şimdi başlamalıyız docker daemon process. Ama bu sefer, şunu eklemeliyiz–lgünlüğe kaydetme seçeneğini belirtmek için parametre. Öyleyse, başlatırken aşağıdaki komutu verelimdocker daemon process.

sudo dockerd –l debug &

Yukarıdaki komutla ilgili aşağıdaki noktalara dikkat edilmelidir -

  • dockerd için yürütülebilir mi docker daemon process.

  • –lseçeneği günlüğe kaydetme düzeyini belirtmek için kullanılır. Bizim durumumuzda, bunu hata ayıklama olarak koyuyoruz

  • & günlüğe kaydetme etkinleştirildikten sonra komut istemine geri dönmek için kullanılır.

Docker sürecini günlük kaydı ile başlattığınızda, artık Debug Logs konsola gönderiliyor.

Şimdi, gibi herhangi bir Docker komutunu çalıştırırsanız docker imagesHata Ayıklama bilgileri de konsola gönderilecektir.

Konteyner Günlüğü

Günlük kaydı, konteyner seviyesinde de mevcuttur. Öyleyse örneğimizde, önce bir Ubuntu kabını döndürelim. Bunu aşağıdaki komutu kullanarak yapabiliriz.

sudo docker run –it ubuntu /bin/bash

Şimdi kullanabiliriz docker log command kapsayıcının günlüklerini görmek için.

Sözdizimi

Docker logs containerID

Parametreler

  • containerID - Bu, günlüklerini görmeniz gereken kapsayıcının kimliğidir.

Misal

Docker Host'umuzda aşağıdaki komutu verelim. Bundan önce, kaptayken bazı komutlar verebilirsiniz.

sudo docker logs 6bfb1271fcdd

Çıktı

Çıktıdan, kapsayıcıda yürütülen komutların günlüklerde gösterildiğini görebilirsiniz.

Docker Composebirden çok kapsayıcıyı tek bir hizmet olarak çalıştırmak için kullanılır. Örneğin, NGNIX ve MySQL gerektiren bir uygulamanız olduğunu varsayalım, her iki kabı da ayrı ayrı başlatmaya gerek kalmadan bir hizmet olarak başlatacak bir dosya oluşturabilirsiniz.

Bu bölümde, Docker Compose'a nasıl başlayacağımızı göreceğiz. Ardından, Docker Compose kullanarak MySQL ve NGNIX ile basit bir hizmetin nasıl kurulup çalıştırılacağına bakacağız.

Docker Compose ─ Kurulum

Docker Compose'u kurmak ve çalıştırmak için aşağıdaki adımların izlenmesi gerekir.

Step 1 - Gerekli dosyaları buradan indirin github aşağıdaki komutu kullanarak -

curl -L "https://github.com/docker/compose/releases/download/1.10.0-rc2/dockercompose
   -$(uname -s) -$(uname -m)" -o /home/demo/docker-compose

Yukarıdaki komut, bu makaleyi yazarken Docker Compose'un en son sürümünü indirecektir. 1.10.0-rc2. Daha sonra dizinde saklayacaktır./home/demo/.

Step 2 - Sonra, sağlamamız gerekiyor execute privileges aşağıdaki komutu kullanarak indirilen Docker Compose dosyasına -

chmod +x /home/demo/docker-compose

Daha sonra aşağıdaki komutu kullanarak compose versiyon.

Sözdizimi

docker-compose version

Parametreler

  • version - Bu, sürümünün ayrıntılarını istediğimizi belirtmek için kullanılır. Docker Compose.

Çıktı

Docker Compose'un sürüm ayrıntıları görüntülenecektir.

Misal

Aşağıdaki örnek, nasıl edinileceğini gösterir. docker-compose versiyon.

sudo ./docker-compose -version

Çıktı

Daha sonra aşağıdaki çıktıyı alacaksınız -

İlk Docker-Compose Dosyanızı Oluşturma

Şimdi devam edelim ve ilk Docker Compose dosyamızı oluşturalım. Tüm Docker Compose dosyaları YAML dosyalarıdır. Vim düzenleyiciyi kullanarak bir tane oluşturabilirsiniz. Bu nedenle, aşağıdaki komutu uygulayarakcompose dosya -

sudo vim docker-compose.yml

Bu dosyanın çeşitli ayrıntılarına yakından bakalım -

  • database ve webanahtar sözcük iki ayrı hizmeti tanımlamak için kullanılır. Biri bizim koşacakmysql veri tabanı ve diğeri bizim nginx Web sunucusu.

  • image anahtar kelime, görüntüyü belirtmek için kullanılır dockerhub bizim için mysql ve nginx konteynerler

  • Veritabanı için, açığa çıkarılması gereken bağlantı noktalarından bahsetmek için ports anahtar sözcüğünü kullanıyoruz. mysql.

  • Ve sonra, aynı zamanda ortam değişkenlerini de mysql çalıştırmak için gerekli olan mysql.

Şimdi Docker Compose dosyamızı aşağıdaki komutu kullanarak çalıştıralım -

sudo ./docker-compose up

Bu komut, docker-compose.yml dosyasını yerel dizininizde açın ve kapsayıcıları oluşturmaya başlayın.

Yürütüldükten sonra, tüm resimler indirilmeye başlayacak ve kapsayıcılar otomatik olarak başlayacaktır.

Ve ne zaman yaparsan docker ps, konteynerlerin gerçekten çalışır durumda olduğunu görebilirsiniz.

Docker, birçok Sürekli Entegrasyon aracıyla entegrasyona sahiptir ve bunlara aynı zamanda popüler CI aracı da dahildir. Jenkins. Jenkins içinde, kapsayıcılarla çalışmak için kullanılabilecek eklentilere sahipsiniz. Öyleyse hızlıca Jenkins aracı için kullanılabilen bir Docker eklentisine bakalım.

Adım adım gidelim ve Docker konteynerleri için Jenkins'te nelerin mevcut olduğuna bakalım.

Step 1 - Jenkins panonuza gidin ve tıklayın Manage Jenkins.

Step 2 - Git Manage Plugins.

Step 3- Docker eklentilerini arayın. Docker eklentisini seçin veInstall without restart buton.

Step 4- Kurulum tamamlandıktan sonra, Jenkins panosundaki işinize gidin. Örneğimizde, adında bir işimiz varDemo.

Step 5 - İşte, Oluştur adımına gittiğinizde, artık kapsayıcıları başlatma ve durdurma seçeneğini görebilirsiniz.

Step 6- Basit bir örnek olarak, oluşturma tamamlandığında kapsayıcıları durdurmak için başka bir seçenek de seçebilirsiniz. Ardından,Save buton.

Şimdi, işinizi Jenkins'te çalıştırın. Konsol çıktısında, artık Tüm kapsayıcıları Durdur komutunun çalıştığını görebileceksiniz.

Kubernetes, konteynerleri hizmet olarak dış dünyaya sunmaya yardımcı olan Docker konteynerleri için bir düzenleme çerçevesidir. Örneğin, iki hizmetiniz olabilir - Bir hizmet şunları içerir:nginx ve mongoDBve başka bir hizmet şunları içerir: nginx ve redis. Her hizmetin, diğer uygulamalarla bağlanabilen bir IP'si veya hizmet noktası olabilir. Kubernetes daha sonra bu hizmetleri yönetmek için kullanılır.

Aşağıdaki diyagram, Kubernetes'in mimari açıdan nasıl çalıştığını basit bir biçimde göstermektedir.

miniontüm hizmetlerin çalıştığı düğümdür. Bir seferde birçok minyon koşabilirsin. Her minion bir veya daha fazla POD'a ev sahipliği yapacak. Her biriPODbir hizmeti barındırmak gibidir. Her POD, Docker konteynerlerini içerir. Her POD, farklı bir Docker kapsayıcı kümesini barındırabilir. Proxy daha sonra bu hizmetlerin dış dünyaya gösterilmesini kontrol etmek için kullanılır.

Kubernetes, mimarisinde çeşitli bileşenlere sahiptir. Her bileşenin rolü aşağıda açıklanmıştır & mius;

  • etcd - Bu bileşen oldukça erişilebilir bir key-value depolamak için kullanılan mağaza shared configuration ve service discovery. Burada çeşitli uygulamalar hizmetlere şu yolla bağlanabilecektir:discovery service.

  • Flannel - Bu, kapsayıcılar için gerekli olan bir arka uç ağıdır.

  • kube-apiserver - Bu, Docker konteynerlerini düzenlemek için kullanılabilecek bir API'dir.

  • kube-controller-manager - Bu, Kubernetes services.

  • kube-scheduler - Bu, kapsayıcıları ana bilgisayarlarda planlamak için kullanılır.

  • Kubelet - Bu, konteynerlerin başlatılmasını kontrol etmek için kullanılır. manifest files.

  • kube-proxy - Bu, dış dünyaya ağ proxy hizmetleri sağlamak için kullanılır.

Bu bölümde nasıl kurulacağını göreceğiz Kubenetes üzerinden kubeadm. Bu, Kubernetes kurulumuna yardımcı olan bir araçtır. Adım adım gidelim ve Kubernetes'in nasıl kurulacağını öğrenelim.

Step 1 - emin olun Ubuntu server version üzerinde çalışıyorsun 16.04.

Step 2 - Bir ssh için kullanılabilecek anahtar sshoturum aç. Bunu aşağıdaki komutu kullanarak yapabilirsiniz.

ssh-keygen

Bu, cihazınızda bir anahtar oluşturacaktır. home folder Aşağıda gösterildiği gibi.

Step 3 - Daha sonra, sahip olduğunuz Ubuntu sürümüne bağlı olarak, ilgili siteyi docker.list için apt package manager, böylece onu algılayabilecektir. Kubernetes packages -den kubernetes site ve uygun şekilde indirin.

Bunu aşağıdaki komutları kullanarak yapabiliriz.

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -  
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main” | sudo tee /etc/apt/sources.list.d/docker.list

Step 4 - Ardından, tüm paketlerin Ubuntu sunucusuna indirildiğinden emin olmak için bir apt-get güncellemesi yayınlıyoruz.

Step 5 - Docker paketini önceki bölümlerde ayrıntılı olarak anlatıldığı gibi kurun.

Step 6 - Şimdi yükleme zamanı kubernetes aşağıdaki paketleri kurarak -

apt-get install –y kubelet kubeadm kubectl kubernetes-cni

Step 7 - Bir kez olsun kubernetes paketler indirilirse, aşağıdaki komutu kullanarak kubernetes denetleyicisini başlatma zamanı -

kubeadm init

Tamamlandığında, yöneticinin çalıştığını ve düğümlerin artık kümeye katılabileceğini belirten başarılı bir mesaj alacaksınız.