Yeni Başlayanlar İçin Docker Eğitimi: Temel Bilgiler, Archidoku, Konteynerler

Docker nedir?

liman işçisi çoklu sanallaştırmaya yönelik bir yazılım geliştirme platformudur OperaAynı ana bilgisayar üzerinde çalışan sistemler. Yazılımın hızlı bir şekilde teslim edilmesi için altyapı ve uygulamaların ayrılmasına yardımcı olur. VM (Sanal makineler) oluşturmak için kullanılan Hiper Yöneticilerden farklı olarak Docker'da sanallaştırma, Docker kapsayıcıları olarak da adlandırılan sistem düzeyinde gerçekleştirilir.

Aşağıdaki görüntüdeki farkı görebileceğiniz gibi, Docker konteynerleri ana bilgisayarın üzerinde çalışır. Operayon sistemi. Bu, verimliliği ve güvenliği artırmanıza yardımcı olur. Üstelik konteynerler daha az kaynak kullandığından, Sanal makineleri çalıştırabildiğimizden daha fazla konteyneri aynı altyapı üzerinde çalıştırabiliriz.

Docker ve Hypervisor'da Sanallaştırma
Docker ve Hypervisor'da Sanallaştırma

Ana bilgisayarın donanımıyla iletişim kurabilen VM'lerin aksine (ör. daha fazla sanal bağdaştırıcı oluşturmak için Ethernet bağdaştırıcısı) Docker kapsayıcıları, ana bilgisayarın işletim sistemi üzerinde yalıtılmış bir ortamda çalışır. Ana makineniz çalışsa bile Windows OS'nin yardımıyla Linux görüntülerinin konteynerlerde çalışmasını sağlayabilirsiniz. Hyper-Vsistemin temel görüntüsünü sanallaştırmak için otomatik olarak küçük VM oluşturan , bu durumda, Linux.

Neden Docker'ı kullanmalısınız?

  • Docker, birden çok şeye sahip olmak için Sanallaştırma için kullanılan bilgisayar yazılımıdır. Operating sistemleri aynı hostta çalışıyor
  • Docker, istemci-sunucu tipi uygulamadır; bu, sunucuya geçiş yapan istemcilerimiz olduğu anlamına gelir
  • Docker görüntüleri konteynerlerimizin "kaynak kodudur"; onları inşa etmek için kullanıyoruz
  • Dockerfile'da iki tür kayıt vardır 1.) genel ve 2)özel kayıtlar
  • Konteynerler Docker biriminin organizasyon birimleridir. Basit bir ifadeyle, görüntü bir şablondur ve kapsayıcı da bu şablonun bir kopyasıdır. Aynı görüntünün birden fazla kapsayıcısına (kopyasına) sahip olabilirsiniz.

liman işçisi Archidoku

Şimdi bu Docker kapsayıcı eğitiminde Docker'daki Docker ana bileşenleri hakkında konuşalım Archidoku:

liman işçisi Archidoku
liman işçisi Archidoku

liman işçisi motoru

Docker, istemci-sunucu tipi bir uygulamadır; bu, sunucuya geçiş yapan istemcilerimiz olduğu anlamına gelir. Yani Docker arka plan programının adı: dockerd, sunucuyu temsil eden Docker motorudur. Docker arka plan programı ve istemciler aynı veya uzak ana bilgisayarda çalıştırılabilir ve komut satırı istemci ikili programı ve tam bir komut dosyası aracılığıyla iletişim kurarlar. RESTful API daemon ile etkileşime geçmek için: dockerd.

Docker Görselleri

Docker görüntüleri konteynerlerimizin "kaynak kodudur"; bunları konteyner oluşturmak için kullanıyoruz. Dağıtımı hızlandıran önceden yüklenmiş bir yazılıma sahip olabilirler. Taşınabilirdirler ve mevcut görüntüleri kullanabilir veya kendimizinkini oluşturabiliriz.

Docker Kayıtları

Docker, oluşturduğumuz görüntüleri kayıt defterlerinde saklar. Kamu ve özel kayıtlar bulunmaktadır. Docker şirketinin kamu sicili adı verildi liman işçisi merkezi, görüntüleri özel olarak da saklayabilirsiniz. Docker hub'ında şimdi kullanmaya başlayabileceğiniz milyonlarca görüntü bulunmaktadır.

Docker Konteynerleri

Konteynerler organizasyon birimleridir ve Docker'ın temel kavramlarından biridir. Bir imaj oluşturup çalıştırmaya başladığımızda; bir konteynerin içinde koşuyoruz. Konteyner benzetmesi, konteynerimizde çalıştırdığımız yazılımın taşınabilirliği nedeniyle kullanılmaktadır. Onu taşıyabilir, başka bir deyişle yazılımı "gönderebiliriz", değiştirebilir, yönetebilir, oluşturabilir veya ondan kurtulabiliriz, tıpkı kargo gemilerinin gerçek konteynerlerle yapabildiği gibi, onu yok edebiliriz.

Basit bir ifadeyle, görüntü bir şablondur ve kapsayıcı da bu şablonun bir kopyasıdır. Aynı görüntünün birden fazla kapsayıcısına (kopyasına) sahip olabilirsiniz.

Aşağıda farklı bileşenler arasındaki etkileşimi ve Docker konteyner teknolojisinin nasıl çalıştığını mükemmel bir şekilde temsil eden bir görsel var.

Birkaç docker komutumuz var, docker pull, docker run.. bunlara daha sonra değineceğiz.

Linux'ta Docker nasıl kurulur/Ubuntu

Aşağıda Linux/ üzerinde Docker kurulum işlemini adım adım anlatıyoruz.Ubuntu:

1. Adım) Docker'ı kurmak için Docker ekibinin DEB paketlerini kullanmamız gerekiyor.

Bunun için bazı önkoşullar Ubuntu paketler gereklidir.

Kurulum için aşağıdaki komutu kullanın Ubuntu paketler

$ sudo apt-get install \
apt-transport-https \
ca-certificates curl \
software-properties-common

*“\” işaretine gerek yoktur, yeni satır için kullanılır, isterseniz komutu “\” kullanmadan tek satırda yazabilirsiniz.

) 2 Adım Parmak iziyle birlikte resmi Docker GPG anahtarını ekleyin.

GPG anahtarını girmek için aşağıdaki Docker komutunu kullanın

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

) 3 Adım Daha sonra Docker APT deposunu ekleyin.

Depoyu eklemek için aşağıdaki Docker komutunu kullanın

$ sudo add-apt-repository \ 
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \ 
$(lsb_release -cs) \
stable"

Depoyu eklemek istediğinizi ve GPG anahtarının ana makinenize otomatik olarak eklenmesini onaylamanız istenebilir.

lsb_release komutu şunu doldurmalıdır: Ubuntu ana makinenizin dağıtım sürümü.

) 4 Adım GPG anahtarını ekledikten sonra,

Aşağıdaki Docker komutunu kullanarak APT kaynaklarını güncelleyin

$ sudo apt-get update

Artık Docker paketini kendimiz kurabiliriz.

) 5 Adım APT kaynakları güncellendikten sonra,

Docker paketlerini yüklemeye başlayın Ubuntu aşağıdaki Docker komutunu kullanarak

$ sudo apt-get install docker-ce

Yukarıda verilen komut Docker'ı ve diğer gerekli ek paketleri yükler. Docker 1.8.0'dan önce paket adı lxc-docker'dı ve Docker 1.8 ile 1.13 arasında paket adı docker-engine idi.

NOT: Docker için Windows gerektirir Windows 10 Pro veya Enterprise sürüm 14393 veya Windows sunucu 2016 RTM çalıştırılacak

Temel Docker Komutlarını kullanarak Docker nasıl kullanılır?

Temel Docker komutlarını kullanarak Docker'ı nasıl kullanacağınız aşağıda açıklanmıştır:

Docker kurduktan sonra çalıştırmamız gereken en temel komut daha önce de söylediğimiz gibi $ docker info'dur.

$ sudo docker info

Benzer veya aşağıdaki sonucu almalısınız

Temel Docker Komutlarını Kullanarak Docker'ı Kullanma

Yukarıdaki Docker örneğinde görebileceğimiz gibi docker konteynerlerinden kaçının çalıştığı, duraklatıldığı veya durdurulduğu ve kaç adet image indirdiğimiz hakkında bilgi sahibiyiz. Bu Docker komutları eğitimindeki ilk görselimizi alalım.

$ sudo docker pull alpine

Bu komutla docker'a alpine imajını indirmesini, onu varsayılan olarak ayarlanan en son sürüm olan genel kayıt defterinden çekmesini söylüyoruz.

*alpine, Alpine Linux tabanlı, tam paket indeksine sahip ve yalnızca 5 MB boyutunda minimal bir Docker görüntüsüdür.

Eğer imajı bir container olarak çalıştırmak istiyorsak bu Docker eğitim rehberinde yer alan aşağıdaki komutu kullanacağız.

$ sudo docker run -i -t alpine /bin/bash

Eğer komutu çalıştırırsak doğrudan Alpine'in terminaline yönlendirileceğiz. -i bayrağı, STDIN'e bağlı olmasanız bile konteynerden açık kalmasını sağlar. Bu kalıcı standart girdi, etkileşimli bir kabuk için ihtiyacınız olanın yarısı kadardır. -t bayrağı diğer yarısıdır ve Docker'a konteynere sahte bir tty ataması talimatını verir. Bu bize yeni konteynerde etkileşimli bir kabuk sunuyor. Basit bir çıkış komutuyla konteynerden çıkıyoruz.

Şimdi bu Docker temelleri eğitiminde, bir Docker çalıştırmayı deneyebiliriz. Ubuntu görüntü.

$ sudo docker run -it ubuntu /bin/bash

Docker'ın görüntü için yerel olarak kontroller yaptığını fark edebilirsiniz ve eğer orada değilse görüntü, görüntü kitaplığından otomatik olarak çekilir ve bir kez daha çalışan etkileşimli bir kabuğumuz olur. Container'ları çalıştırırken onlara da isim verebiliriz.

$ sudo docker run –-name our_container -it ubuntu /bin/bash

ve tekrar çıkıyoruz.

Daha önce oluşturduğumuz konteyneri etkileşimli bir kabuk olmadan da çalıştırabiliriz.

$ sudo docker start container_name

Ve konteynerin docker stop Container_name yazmasını durdurun

$ sudo docker stop container_name

Çalışan tüm konteynerleri görmek istiyorsak, sadece koşuyoruz

$ docker ps

Ve tüm konteynerler için aynı komutun sonuna docker ps -a gibi “- a” ekliyoruz.

Bu komut, daha kolay yönetim için Konteyner kimliğini, oluşturulduğunda hangi görüntünün kullandığını, çalışma durumunu, açık bağlantı noktalarını ve konteyner için rastgele oluşturulmuş adı gösterir.

Container'ları çalıştırdığımızda ne kadar kaynak kullandıklarını da bilmek isteriz, bu amaçla komutu kullanabiliriz.

$ docker stats

Ayrıca yerel olarak hangi görselleri indirdiğimizi görebilir ve onlar hakkında bilgi alabilirsiniz.

$ sudo docker images

Yukarıdaki Docker örneğindeki komut, docker görüntüsünü, görüntü sürümümüzü, ayırt edici bir görüntü kimliğini, ne zaman oluşturulduğunu ve görüntü boyutunu gösteren bir etiketle birlikte görüntüler.

Sanallaştırma Nedir?

Daha önce bir hizmeti dağıtma süreci yavaş ve sancılıydı. İlk olarak geliştiriciler kod yazıyordu; daha sonra operasyon ekibi, kodun çalışması için kitaplık sürümlerine, yamalara ve dil derleyicilerine dikkat etmeleri gereken çıplak metal makinelere dağıtacaktı. Bazı hatalar veya hatalar varsa süreç yeniden başlayacak, geliştiriciler sorunu düzeltecek ve ardından operasyonel ekip yeniden konuşlandırmak için orada olacaktı.

Hipervizörlerin oluşturulmasıyla birlikte bir gelişme oldu. Hipervizörlerin birden fazla Sanal makineler veya aynı ana bilgisayarda çalışıyor veya kapalı olabilecek VM'ler. VM'ler, kod dağıtımı ve hata düzeltme için bekleme süresini büyük ölçüde azalttı, ancak asıl oyun değiştirici Docker konteynerleriydi.

Önemli Docker Komutları

Aşağıda önemli Docker komutları verilmiştir:

Komuta Açıklama
docker bilgisi Bilgi Komutanlığı
liman işçisi çekme Bir resim indirin
liman işçisi çalıştır -i -t resim_adı /bin/bash Görüntüyü kapsayıcı olarak çalıştır
liman işçisi our_container'ı başlat Kapsayıcıyı başlat
liman işçisi durağı konteyner_adı Konteyneri durdur
docker ps Çalışan tüm konteynerlerin listesi
liman işçisi istatistikleri Konteyner bilgileri
docker görüntüleri İndirilen görsellerin listesi
Docker Temizleme Çalışan tüm konteynerleri öldürün.

Ayrıca, okumak Docker iş görüşmesi soruları ve cevapları hem yeni hem de deneyimli profesyoneller için.

ÖZET

  • Docker, çoklu sanallaştırmaya yönelik bir yazılım geliştirme platformudur. OperaAynı ana bilgisayar üzerinde çalışan sistemler. Yazılımın hızlı bir şekilde teslim edilmesi için altyapı ve uygulamaların ayrılmasına yardımcı olur.
  • liman işçisi Archidoku: Docker Motoru, Docker Görüntüleri, Docker Kayıtları, Docker Konteynerleri.
  • Docker Motoru: Docker, istemci-sunucu tipi bir uygulamadır; bu, sunucuya geçiş yapan istemcilerimiz olduğu anlamına gelir. Yani Docker arka plan programının adı: dockerd, sunucuyu temsil eden Docker motorudur.
  • Docker Görselleri: Docker görüntüleri konteynerlerimizin "kaynak kodudur"; bunları konteyner oluşturmak için kullanıyoruz. Dağıtımı hızlandıran önceden yüklenmiş bir yazılıma sahip olabilirler. Taşınabilirdirler ve mevcut görüntüleri kullanabilir veya kendimizinkini oluşturabiliriz.
  • Docker Kayıtları: Docker, oluşturduğumuz görüntüleri kayıt defterlerinde saklar. Kamu ve özel kayıtlar bulunmaktadır. Docker şirketinin, görüntüleri özel olarak da saklayabileceğiniz Docker hub adında genel bir kaydı vardır. Docker hub'ında şimdi kullanmaya başlayabileceğiniz milyonlarca görüntü bulunmaktadır.
  • Docker Konteynerleri: Konteynerler organizasyon birimleridir ve Docker'ın temel kavramlarından biridir. Bir imaj oluşturup çalıştırmaya başladığımızda; bir konteynerin içinde koşuyoruz. Konteyner benzetmesi, konteynerimizde çalıştırdığımız yazılımın taşınabilirliği nedeniyle kullanılmaktadır.