Sadržaj kursa
Uvod
- Uvod u napredne Docker koncepte i tokove rada
- Pregled principa i slučajeva korišćenja kontejnerizacije
- Terminologija i osnovni komponenti Dckera
- Pregled ciljeva kursa i praktičnog okruženja
Pregled funkcionalnosti i arhitekture Dockera
- Docker Engine i njegove komponente
- Docker klijent, demon, slike, kontejneri i registri
- Arhitektura Dockera i životni ciklus kontejnera
- Docker Hub i privatni registri
- Osnove Docker CLI za napredne korisnike
- Upravljanje Docker resursima i konfiguracijom
Podešavanje Dockera
- Instaliranje Docker Community Edition
- Konfigurisanje Docker okruženja
- Verifikacija Docker instalacije
- Konfigurisanje Dockera za razvoj i testiranje
- Upravljanje Docker konfiguracijom i skladištenjem
- Uvod u rešavanje problema u Docker okruženju
Napravite sopstvene Docker slike
- Razumevanje Docker slika i slojeva
- Pisanje efikasnih Dockerfile-ova
- Uputstva za Dockerfile i najbolje prakse
- Upravljanje kontekstom gradnje
- Gradnja i označavanje slika
- Korišćenje
.dockerignore - Optimizacija veličine slika i performansi gradnje
- Upravljanje verzijama i oznakama slika
- Više-fazne Docker gradnje
- Pobjavljanje slika u kontejnerski registar
Pokretanje aplikacija sa više kontejnera pomoću Docker Compose
- Uvod u Docker Compose
- Definisanje servisa u Compose fajlu
- Konfiguracija mreža i volumena
- Upravljanje promenljivima okruženja
- Zavisnosti servisa i redosled pokretanja
- Pokretanje i skaliranje više servisa
- Gradnja slika aplikacija pomoću Compose
- Upravljanje konfiguracijom aplikacija
- Rešavanje problema sa aplikacijama sa više kontejnera
- Najbolje prakse za Compose
Izazovi u razvoju velikog broja Docker aplikacija
- Upravljanje kontejnerima na više domaćina
- Skaliranje i dostupnost aplikacija
- Otkrivanje servisa
- Razdvajanje opterećenja
- Upravljanje konfiguracijom i tajnama
- Izazovi u vezi sa trajnim skladištenjem
- Monitorisanje i beleženje na skali
- Koturne ažuriracije i razvoj aplikacija
- Oporavak od kvara kontejnera i domaćina
Kako orkestracija kontejnera pomaže u zadržavanju kontrole
- Uvod u orkestraciju kontejnera
- Koristi i ograničenja orkestracije
- Poređenje Docker Swarm-a, Kubernetes-a i drugih rešenja
- Računski raspored i upravljanje radnim opterećenjem
- Otkrivanje servisa i mrežna komunikacija
- Skaliranje i samopopravljanje aplikacija
- Koturne instalacije i povlačenja
- Upravljanje resursima i izolacija radnog opterećenja
- Izbor odgovarajuće orkestracione platforme
Kubernetes u praksi
- Arhitektura Kubernetes-a i osnovni komponenti
- Podovi, čvorovi i klasteri
- Rasporedi i ReplicaSet-ovi
- Servis i otkrivanje servisa
- ConfigMap i Secrets
- Namespaci i organizacija resursa
- Skaliranje aplikacija
- Koturne ažuriracije i povlačenja
- Osnove Kubernetes mrežne komunikacije
- Trajno skladištenje
- Provere zdravlja i otpornost aplikacija
- Razvoj Docker aplikacija u Kubernetes-u
- Rešavanje problema sa radnim opterećenjem u Kubernetes-u
Napredna Docker mrežna komunikacija
- Arhitektura Docker mrežne komunikacije
- Bridge, host, overlay i drugi mrežni drajveri
- Komunikacija između kontejnera
- Komunikacija između kontejnera i spoljnih sistema
- Prilagođene Docker mreže
- Izolacija mreže
- Otkrivanje servisa
- Izlaganje i objava portova
- Mrežna komunikacija u višedomaćinskom okruženju
- Rešavanje problema sa Docker mrežnom komunikacijom
Docker bezbednost
- Osnove Docker bezbednosti
- Izolacija kontejnera i bezbednosni granice
- Pokretanje kontejnera sa odgovarajućim privilegijama
- Upravljanje korisnicima i dozvolama unutar kontejnera
- Linux sposobnosti i bezbednosne kontrole
- Bezbednost Docker slika
- Skeniranje ranjivosti slika
- Bezbedno upravljanje tajnama
- Bezbednost Docker registara
- Bezbednost i izolacija mreže
- Bezbednost Docker demona
- Najbolje prakse za bezbednost kontejnera
Postavljanje toka kontinuirane integracije za Docker aplikacije
- Uvod u CI za kontejnerizovane aplikacije
- Automatizovana gradnja Docker slika
- Automatizovano testiranje Docker slika i kontejnera
- Označavanje i upravljanje verzijama slika
- Integracija kontrolisana izvora sa Docker gradnjom
- Automatizovano skeniranje ranjivosti slika
- Pobjavljanje slika u registre
- Upravljanje artefaktima gradnje
- Implementacija automatizovanih provera kvaliteta
- Dizajniranje ponovljivog Docker CI toka
Integracija Docker aplikacija u postojeći tok
- Integracija Dockera sa postojećim razvojnim tokovima
- Kontejnerizacija postojećih aplikacija
- Integracija Dockera sa CI/CD platformama
- Upravljanje razvojnim, testnim, staging i produkcijskim okruženjima
- Strategije automatizovane instalacije
- Upravljanje konfiguracijom kroz okruženja
- Integracija registra
- Odobrenje instalacije i upravljanje izdanjem
- Monitorisanje instalacije aplikacija
- Održavanje konzistentnosti kroz okruženja
Najbolje prakse za kontejnere i orkestraciju
- Dizajniranje održivih Docker slika
- Optimizacija pokretanja i performansi kontejnera
- Upravljanje životnim ciklusom kontejnera
- Efikasna alokacija resursa
- Strategije beleženja i monitorisanja
- Upravljanje konfiguracijom i tajnama
- Visoka dostupnost i tolerancija kvara
- Skaliranje kontejnerizovanih aplikacija
- Bezbedna instalacija kontejnera
- Verzija i strategije izdavanja
- Najbolje prakse za arhitekturu orkestracije
Rešavanje problema
- Dijagnostikovanje kvarova pri pokretanju kontejnera
- Istraživanje logova aplikacija i kontejnera
- Inspekcija kontejnera i slika
- Rešavanje problema sa mrežnom komunikacijom
- Rešavanje problema sa skladištenjem i volumenima
- Dijagnostikovanje kvarova pri gradnji slika
- Rešavanje problema sa Docker Compose aplikacijama
- Istraživanje problema sa resursima i performansama
- Osnove rešavanja problema u Kubernetes-u
- Praktične vežbe za rešavanje problema
Rekapitulacija i zaključak
- Pregled ključnih Docker koncepata
- Pregled kreiranja slika i upravljanja kontejnerima
- Pregled instalacije aplikacija sa više kontejnera
- Pregled koncepata orkestracije i Kubernetes-a
- Pregled Docker mrežne komunikacije i bezbednosti
- Pregled CI/CD integracije
- Najbolje prakse za kontejnerizaciju i orkestraciju
- Završna praktična vežba
- Pitanja i diskusija
Uslovi
- Prethodno iskustvo rada sa Docker kontejnerima.
Ciljna publika
- Razvojni programeri
- DevOps inženjeri
- Sistemski administratori
Iskustva korisnika (7)
Široko znanje trenera, kao i njegove sposobnosti da rešava probleme koji su se spontano javljali tokom praktičnih vežbi. Pored toga, same vežbe su adekvatne da pomognu u uvrštavanju i dubljem razumevanju predmeta koji su obuhvaćeni u kursu.
Cosmin - Ness Digital Engineering
Kurs - Advanced Docker
Mašinski prevedeno
Brzina obavljanja gradiva i duboko zaronjenje u teme od samog početka bili su izuzetni, mada smatramo da bismo mogli ići još detaljnije već od prvog dana, s obzirom na to da je u pitanju napredna obuka za Docker i da pretpostavljamo prisustvo osnovnih znanja o Docker-u.
SORIN ROMAN - Ness Digital Engineering
Kurs - Advanced Docker
Mašinski prevedeno
Obučavatelj je prijatan i sve je objasnio na izuzetno dobar, strukturiran način koji ima smisla i prirodno teče. Vežbe za vežbanje su zanimljive i praktične.
Andreas - Ness Digital Engineering
Kurs - Advanced Docker
Mašinski prevedeno
Obuka je imala odgovarajući tempo, prilagođen iskustvu svakog učesnika. Takođe, postigla je dobro uravnoteženje između teorijskih pojava i praktičnih vežbi.
Laurentiu - Ness Digital Engineering
Kurs - Advanced Docker
Mašinski prevedeno
Struktura i način na koji su sadržaj i vežbe izložene. Za mene je ovaj trening bio poput putovanja: od aplikacija do Docker kontejnera, pa do Kubernetesa. Vežbe su bile atraktivne i veoma na temu.
Andrei - Ness Digital Engineering
Kurs - Advanced Docker
Mašinski prevedeno
Jednostavno objašnjenje i didaktički pristup u toku kurseva
Diana Martinez - AT&T
Kurs - Advanced Docker
Mašinski prevedeno
Predavač je iskusan razvijatelj koji dobro poznaje Docker i rado deli svoja iskustva sa grupom. DaDesktop je veoma dobra platforma za rad.
Ulises - AT&T
Kurs - Advanced Docker
Mašinski prevedeno