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 -
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.