Docker Eğitimleri

Eğitimin Açıklaması

Docker; Linux çekirdek yapısında bulunan sanallaştırma özelliğinin daha efektif ve rahat kullanılabilmesi için geliştirilmiş olan açık kaynaklı bir projedir. Docker ile Linux, MacOS ve Windows sistemler üzerinde Linux tabanlı konteynerler oluşturup çalıştırabilirsiniz. Docker eğitiminde  kazanılan beceriler ile DevOPS ve SecOPS alanlarında önemli adımlar atılmış olur. Katılımcılar, eğitim içerisinde Docker ve Docker konteyner kurulumu, testi ve dağıtımı gibi temel prensiplerin yanında DevOPS ve SecOPS alanlarında Docker’ın nasıl daha efektif olarak kullanılabileceğini ve Docker’ın SecOPS için sunabileceği imkanları uygulamalı olarak öğrenirler. Katılımcılar, eğitim sonrasında Docker sertifika sınavına girebilirler.

Not: Docker eğitimi iki bölümden oluşmaktadır. 1. bölümü başarı ile tamamlayan öğrencilerimiz Docker’ın ileri seviyesi olan 2. bölüme devam edebilirler.

 

Eğitim Süresi

5 gün

 

Eğitim Yeri

Kurum veya Seccops eğitim merkezi.

 

Sertifika

Eğitime katılanlara Seccops tarafından katılım sertifikası verilmektedir.

 

Eğitim Programı

  • 1. BÖLÜM
    • Giriş
      • Ön gereksinimler, temel bilgiler
      • Bilgisayara kurulum
      • Sanal makine üzerinden kurulum
      • Docker-machine ile kurulum
      • PWD
      • Örnek uygulamanın kurulumu
      • Uygulama çalıştırmak
      • Çalışan konteynırların görüntülenmesi
      • Çalışan konteynırların izlenmesi
      • Konteynırları durdurmak/duraklatmak/başlatmak
      • Konteynırlara komut satırı erişimi
      • Bazı diğer sık kullanılan Docker komutları
      • Docker versiyonları, CE ve EE sürümleri
    • Docker Çalışma Prensipleri
      • Konteynır yapısı
      • Altyapı
      • Namespace’ler
      • Cgroups
      • Capabilities
      • CoW dosya sistemleri
    • İmaj Yapısı
      • Base image kavramı
      • Dockerfile yapısı
      • Dockerfile komutlarının tanıtımı
      • Katman yapısı ve katmanların görüntülenmesi
      • İmaj oluşturma
      • Yaygın kullanılan temel imajlar
      • Tek katmanlı konteynır oluşturmak
    • Docker Compose
      • YAML’ın kısa özeti
      • Compose Dosya Yapısı
      • Compose ile Dockerfile’ların imaja dönüştürülmesi
      • Compose dosyasının yayına alınması ve yayından kaldırmak
      • Uygulamaları arkaplanda başlatmak
      • Linkler
      • Servis ölçekleme
    • Docker Network Yapısı – 1
      • Linkler vs network kullanımı
      • Docker’ın temel network mekanizmaları
      • Docker ile network yönetim komutları
      • overlay/bridge ağ yapıları ve farklılıkları
    • Docker’da Örnek Yazılım Dağıtımı
      • 12 Faktör ve avantajları
      • Stateful ve stateless kavramları
      • Örnek 12 faktör uygulamasının Docker’da yayına alınması
    • Depolama
      • Docker Volume kavramı
      • Volume sürücüleri
      • SSH üzerinden Volume bağlanması
      • Volume konfigürasyonları
      • Volume ile kalıcı veri saklama
      • Konteynır içerisine veri aktarımı
      • Konteynır içinden veri aktarımı
      • Docker commit
  • 2.BÖLÜM
    • Servis keşfi ve bağlantılar
      • Servis keşif mekanizması
      • İsimlendirme ve haberleşme
    • Dışarıdan erişim ve test için yöntemler
      • ngrok
      • supergrok
      • SSH tünelleme
    • Loglara erişim
      • Konteynır mimarisine uygun log sistem yapısı
      • Docker ile konteynır bazlı log erişimi
      • Compose ile log erişimi
      • Docker log sürücüleri
    • Kaynaklar ve performans
      • CLI araçları ile izleme(vmstat/top/htop/vtop vs.)
      • Apache benchmark ve httping
      • Docker stats
      • Docker inspect
    • Portainer
      • Tanım, tanıtım, kurulum
      • Konteynır yönetimi
      • Network yönetimi
      • Performans izleme
      • Konteynırlara terminal erişimi
        – Diğer yaygın kullanılan özellikler
    • Swarm Mode
      • Nedir?
      • Neden/hangi durumlarda kullanılır?
      • HA/Zero Downtime ve Swarm Mode ilişkisi
      • SwarmKit araç seti
      • Raft nedir?
      • Raft consensus nasıl sağlanır/yönetilir
      •  Manager ve worker node kavramları
      • Manager sayısının belirlenme yöntemi/tavsiyeler
      • Failover algoritması
      • Swarm mode ile yük dengeleme, overlay network ve IPVS
      • Key-value store kavramı
      • Orchestration ve KV store ilişkisi
      • Data plane ve control plane
    • Swarmkit Cluster Yapısı
      • Worker/manager benzerlik ve farklılıkları
      • Swarm modunda Raft konseyi
      • Yönetici seçimi ve yönetimdeki rolü
      • “Desired state” kavramı ve Swarm modundaki işleyişi
      • Swarm modu bileşenleri ve işlevleri
      • Orchestrator
      • Scheduler
      • Allocator
      • Dispatcher
      • Swarm modunda task, servis, imaj, konteynır kavramları
    • Swarm mode yönetimi
      • Docker swarm
      • Swarm mode aktifleştirilmesi
      • Advertisement ve IP/port seçim algoritması/kriterleri
      • Bağlantı güvenliği ve token alınması
      • İstenen node’ların swarma katılması
      • Docker node
      • Bağlı makinelerin görüntülenmesi
      • Promotion ve demotion
      • Güncelleme ve makine etiketleme
      • Docker service
      • Servis oluşturma
      • Servis değişikliği/servis silmek
      • Servis güncelleme
      • Loglama
      • Depolama
      • Bölgeye/datacenter’a/makine özelliklerine göre kısıtlar
      • Ölçekleme
      • Global mod
      • Docker machine ile kurulum hazırlığı
      • Rolling update ve rollback stratejileri, uygulaması
      • Healthcheck mekanizması ve kullanımı
    • Docker Network Yapısı – 2
      • Overlay sürücüsü ile multi-host networkler
      • Şifrelenmiş ağ oluşturma ve çalışma şekli
      • Bağlanabilir ağ oluşturma
      • Uygulamaların ağ izolasyonu
      • Dışarı açık olmayan uygulamalar
      • Alternatif network sürücüleri
    • Docker Stack
      • Stack için compose yapısı
      • Stack ile servis ve network yönetimi
      • Stack’in yayına alınması
      • Stack güncellemeleri
      • Önceki bölümdeki uygulamaların Stack’e aktarılması
    • Registry altyapıları
      • Docker Hub
      • Docker registry
      • Lokal registry kurulumu
      • Docker engine’e registry tanıtımı
      • Registry ve depolama ( lokal ve S3 örnekleri ile )
      • Authentication
      • Docker trusted registry
      • Registry’in mirror olarak kullanılması
      • Üretilen imajların istenen registry üzerinde depolanması
      • Registry API
    • CI/CD/CDP
      • CI/CD/CDP kavramları ve farkları
      • Örnek deployment stratejilerinin anlatımı
      • Phabricator veya Github ile commit filtreleme
      • Jenkins ve Phabricator/Github ile hook iletişimi
      • Jenkins pipeline mekanizması
      • Paralel derleme ve testlerin yönetimi
      • BlueOcean arayüzü
      • Jenkinsfile hazırlanması ve Docker entegrasyonu
      • Kodun gönderiminden yayına alınmasına kadar tüm sürecin otomatize edilmesi
      • Deployment öncesi kullanıcı onayının beklenmesi
    • Proxy
      • Proxy ihtiyaç sebepleri
      • Docker flow proxy/Traefik/nginx proxy alternatifleri
      • Traefik Proxy ve Swarm Mode entegrasyonu
      • Traefik ile WRR yük dengeleme
      • Birden fazla alan adı
      • Servis etiketleme
      • BlueGreen ve Canary deployment, Traefik’in bunlara faydası
    • Docker ile Ansible entegrasyonu
    • Docker for AWS/Docker for Azure
      • Kurulumu/kullanımı (AWS üzerinde CloudFormation/VPC/Security Groups/IGW vs. hakkında kısa bilgiler)
      • swarm-exec
      • Cloudstor
      • DNS kaydı, yük dengeleme
      • Failover yapısı ve test edilmesi
      • Log yönetimi/CloudWatch
    • Docker secret
      • Hassas bilgilerin saklanması
      • Kısıtlamalar
      • Çalışma yapısı ve güvenliği
      • Secret oluşturma
      • Servise göre secret erişimi
      • Ayar dosyalarının secret olarak ayarlanması
      • İsimlendirme
      • Güncelleme
    • Loglar – ELK
      • Log sürücüleri ve GELF
      • LogSpout
      • ELK Stack kurulumu ve tüm logların aktarılması
    • Metrikler
      • Telegraf
      • InfluxDB
      • Grafana ve eklentileri
      • Servisler haline getirilerek tüm clusterın izlenmesi
      • Alternatif Stack önerileri (Prometheus, Google cadvisor vb araçlar ile)
    • Ek konular
      • Docker system df
      • System prune özelliği ve kullanımı
      • Servis güncellemeleri
      • Karşılaşılabilecek sorunlar
      • Yayına alma tavsiyeleri

Başvuru

Başvuru için iletişime geçebilirsiniz.