Schița de curs
Introducere
- Introducere în conceptele și fluxurile de lucru avansate Docker
- Revizuirea principiilor de containerizare și a cazurilor de utilizare
- Termenologie Docker și componente de bază
- Prezentarea obiectivelor cursului și a mediului hands-on
Prezentarea funcționalităților și arhitecturii Docker
- Docker Engine și componentele acestuia
- Client Docker, daemon, imagini, containere și registri
- Arhitectura Docker și ciclul de viață al containerelor
- Docker Hub și registri privați
- Fundamentele CLI Docker pentru utilizatori avansați
- Gestionarea resurselor și configurațiilor Docker
Configurarea Docker
- Instalarea Docker Community Edition
- Configurarea mediului Docker
- Verificarea instalării Docker
- Configurarea Docker pentru dezvoltare și testare
- Gestionarea configurației și stocării Docker
- Introducere în depanarea mediului Docker
Construirea propriilor imagini Docker
- Înțelegerea imaginilor și a stratelor Docker
- Scrierea de Dockerfile-uri eficiente
- Instrucțiuni Dockerfile și bune practici
- Gestionarea contextului de build
- Construirea și etichetarea imaginilor
- Utilizarea
.dockerignore - Optimizarea dimensiunii imaginii și a performanței build-ului
- Gestionarea versiunilor și etichetelor imaginilor
- Build-uri Docker multi-stage
- Publicarea imaginilor într-un registru de containere
Rularea aplicațiilor Docker multi-container cu Docker Compose
- Introducere în Docker Compose
- Definirea serviciilor cu fișiere Compose
- Configurarea rețelelor și a volumelor
- Gestionarea variabilelor de mediu
- Dependențele serviciilor și ordinea de pornire
- Rularea și scalarea mai multor servicii
- Construirea imaginilor aplicațiilor cu Compose
- Gestionarea configurației aplicației
- Depanarea aplicațiilor multi-container
- Bune practici Compose
Provocările implementării a multe aplicații Docker
- Gestionarea containerelor pe mai multe host-uri
- Scalarea și disponibilitatea aplicațiilor
- Descoperirea serviciilor
- Load balancing
- Gestionarea configurației și a secretelor
- Provocările stocării persistente
- Monitorizarea și logarea la scară mare
- Actualizări rulante (rolling updates) și implementarea aplicațiilor
- Recuperarea din erori de container sau host
Cum te ajută orquestrarea containerelor să păstrezi controlul
- Introducere în orquestrarea containerelor
- Beneficii și limite ale orquestrării
- Compararea Docker Swarm, Kubernetes și a altor soluții
- Programarea (scheduling) și gestionarea workload-urilor
- Descoperirea serviciilor și rețele
- Scalarea și self-healing-ul aplicațiilor
- Implementări rulante și rollbacks
- Gestionarea resurselor și izolarea workload-urilor
- Alegerea unei platforme de orquestrare potrivite
Kubernetes în practică
- Arhitectura Kubernetes și componentele de bază
- Pods, noduri și clustere
- Deployments și ReplicaSets
- Servicii și descoperirea acestora
- ConfigMaps și Secrets
- Namespaces și organizarea resurselor
- Scalarea aplicațiilor
- Actualizări rulante și rollbacks
- Fundamentele rețelelor Kubernetes
- Stocare persistentă
- Verificări de sănătate (health checks) și reziliența aplicațiilor
- Implementarea aplicațiilor Docker pe Kubernetes
- Depanarea workload-urilor Kubernetes
Rețele Docker avansate
- Arhitectura rețelelor Docker
- Driveri de rețea: bridge, host, overlay și altele
- Comunicarea între containere
- Comunicarea dintre containere și sisteme externe
- Rețele Docker personalizate
- Izolarea rețelei
- Descoperirea serviciilor
- Publicarea și expunerea porturilor
- Rețele în medii multi-host
- Depanarea rețelelor Docker
Securitatea Docker
- Fundamentele securității Docker
- Izolarea containerelor și granițele de securitate
- Rularea containerelor cu privilegii adecvate
- Gestionarea utilizatorilor și a permisiunilor în containere
- Capabilități Linux și controale de securitate
- Securizarea imaginilor Docker
- Scanarea vulnerabilităților imaginilor
- Gestionarea securizată a secretelor
- Securizarea registrelor Docker
- Securitatea și izolarea rețelei
- Securitatea daemon-ului Docker
- Bune practici de securitate a containerelor
Configurarea unui workflow de integrare continuă pentru aplicații Docker
- Introducere în CI pentru aplicații containerizate
- Construirea automată a imaginilor Docker
- Testarea automată a imaginilor și containerelor Docker
- Etichetarea și gestionarea versiunilor imaginilor
- Integrarea controlului surselor cu build-urile Docker
- Scanarea automată a vulnerabilităților imaginilor
- Publicarea imaginilor în registre
- Gestionarea artefactelor de build
- Implementarea controalelor automate de calitate
- Proiectarea unui pipeline CI Docker reutilizabil
Integrarea aplicațiilor Docker într-un workflow existent
- Integrarea Docker în fluxurile de lucru de dezvoltare existente
- Containerizarea aplicațiilor existente
- Integrarea Docker cu platforme CI/CD
- Gestionarea mediilor de dezvoltare, testare, staging și producție
- Strategii de implementare automatizate
- Gestionarea configurației în diferite medii
- Integrarea registrelor
- Aprobările de implementare și gestionarea lansărilor
- Monitorizarea implementărilor aplicațiilor
- Păstrarea consistenței între medii
Bune practici de containerizare și orquestrare
- Proiectarea imaginilor Docker ușor de menținut
- Optimizarea pornirii și performanței containerelor
- Gestionarea ciclului de viață al containerelor
- Allocarea eficientă a resurselor
- Strategii de logare și monitorizare
- Gestionarea configurației și a secretelor
- Disponibilitate ridicată și toleranță la erori
- Scalarea aplicațiilor containerizate
- Implementarea securizată a containerelor
- Versioning și strategii de lansare
- Bune practici de arhitectură de orquestrare
Depanare
- Diagnostica erorilor de pornire a containerelor
- Investigarea logurilor aplicațiilor și containerelor
- Inspecția containerelor și imaginilor
- Depanarea problemelor de rețea
- Rezolvarea problemelor de stocare și volume
- Diagnostica erorilor de build a imaginilor
- Depanarea aplicațiilor Docker Compose
- Investigarea problemelor de resurse și performanță
- Fundamentele depanării Kubernetes
- Exerciții practice de depanare
Rezumat și concluzii
- Revizuirea conceptelor cheie Docker
- Revizuirea creării imaginilor și a gestionării containerelor
- Revizuirea implementării aplicațiilor multi-container
- Revizuirea conceptelor de orquestrare și a Kubernetes-ului
- Revizuirea rețelelor și securității Docker
- Revizuirea integrării CI/CD
- Bune practici de containerizare și orquestrare
- Exercițiu final hands-on
- Întrebări și discuții
Cerințe
- Experiență anterioară în lucrul cu containere Docker.
Public țintă
- Dezvoltatori
- Ingineri DevOps
- Administratori de sistem
Mărturii (7)
Cunoştinţele ample ale instructorului, precum şi abilitatea sa de a rezolva problemele care au apărut spontan în timpul sesiunilor practice. De asemenea, exerciţiile în sine sunt adecvate pentru a ajuta la consolidarea subiectelor abordate în curs.
Cosmin - Ness Digital Engineering
Curs - Advanced Docker
Tradus de catre o masina
Ritmul și faptul că am intrat în detalii foarte repede, dar cred că am putea merge chiar mai în profunditate chiar de la primul zi (având în vedere că este un antrenament avansat Docker, presupunem că există o cunoaștere de bază a Docker).
SORIN ROMAN - Ness Digital Engineering
Curs - Advanced Docker
Tradus de catre o masina
instrucționistul este o persoană plăcută și a explicat tot foarte bine, într-o manieră structurată care are sens și curge natural. exerciții interesante pentru practică
Andreas - Ness Digital Engineering
Curs - Advanced Docker
Tradus de catre o masina
Formarea a avut un ritm bun, adaptat la experiența fiecărui participant. De asemenea, există o balanță plăcută între noțiuni teoretice și exerciții practice.
Laurentiu - Ness Digital Engineering
Curs - Advanced Docker
Tradus de catre o masina
Structura și modul de prezentare. Pentru mine, această instruire a fost ca o călătorie: de la aplicații până la containere Docker, și mai departe la Kubernetes. Exercițiile au fost captivante și foarte relevante.
Andrei - Ness Digital Engineering
Curs - Advanced Docker
Tradus de catre o masina
Explicația simplă și faptul că cursul a fost didactic
Diana Martinez - AT&T
Curs - Advanced Docker
Tradus de catre o masina
Instructorul este un dezvoltator cu o experiență bogată în Docker și îi place să împartă experiențele sale cu grupul. DaDesktop este o platformă foarte plăcută de lucru.
Ulises - AT&T
Curs - Advanced Docker
Tradus de catre o masina