Schița de curs
Introducere
- Introducere în conceptele și fluxurile de lucru avansate în Docker
- Reevaluarea principiilor de containerizare și a cazurilor de utilizare
- Terminologia Docker și componentele de bază
- Prezentarea obiectivelor cursului și a mediului hands-on
Prezentarea caracteristicilor și arhitecturii Docker
- Motorul Docker și componentele sale
- Client Docker, daemon, imagini, containere și registre
- Arhitectura Docker și ciclul de viață al containerelor
- Docker Hub și registre private
- Fundamentele CLI Docker pentru utilizatori avansați
- Managementul resurselor și configurațiilor Docker
Configurarea Docker
- Installarea Docker Community Edition
- Configurarea mediului Docker
- Verificarea instalării Docker
- Configurarea Docker pentru dezvoltare și testare
- Managementul configurației și stocării Docker
- Introducere în troubleshooting-ul mediului Docker
Construirea propriilor imagini Docker
- Înțelegerea imaginilor și straturilor Docker
- Scrierea de Dockerfile-uri eficiente
- Instrucțiuni Dockerfile și best practices
- Managementul contextului de build
- Build-ul și etichetarea imaginilor
- Utilizarea
.dockerignore - Optimizarea dimensiunii imaginii și a performanței de build
- Managementul versiunilor și etichetelor imaginilor
- Build-uri multi-stage în Docker
- Publish-ul 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 volumelor
- Managementul variabilelor de mediu
- Dependențele serviciilor și ordinea de pornire
- Rularea și scalarea mai multor servicii
- Build-ul imaginilor aplicațiilor cu Compose
- Managementul configurației aplicației
- Debug-ul aplicațiilor multi-container
- Best practices pentru Compose
Provocările deploy-ului a unui număr mare de aplicații Docker
- Managementul containerelor pe mai multe host-uri
- Scalarea și disponibilitatea aplicațiilor
- Descoperirea serviciilor
- Load balancing
- Managementul configurațiilor și secretelor
- Provocările stocării persistente
- Monitorizarea și logarea la scară largă
- Actualizări continuu (rolling updates) și deploy-ul aplicațiilor
- Recuperarea din erori de container și de host
Cum te ajută orchestrarea containerelor să păstrezi controlul
- Introducere în orchestrarea containerelor
- Beneficiile și limitările orchestrării
- Compararea Docker Swarm, Kubernetes și a altor soluții
- Programarea (scheduling) și managementul workload-urilor
- Descoperirea serviciilor și rețele
- Scalarea și autoregolarea aplicațiilor (self-healing)
- Deploy continuu și rollbacks
- Managementul resurselor și izolare workload-urilor
- Selecția unei platforme de orchestrare potrivite
Kubernetes în practică
- Arhitectura Kubernetes și componentele de bază
- Pods, node-uri și cluster-uri
- Deployments și ReplicaSets
- Servicii și descoperirea serviciilor
- ConfigMaps și Secretele
- Namespaces și organizarea resurselor
- Scalarea aplicațiilor
- Actualizări continuu și rollbacks
- Fundamentele rețelelor în Kubernetes
- Stocare persistentă
- Verificări de sănătate (health checks) și reziliența aplicațiilor
- Deploy-ul aplicațiilor Docker în Kubernetes
- Troubleshooting-ul workload-urilor Kubernetes
Rețele Docker Avansate
- Arhitectura rețelelor Docker
- Drivere de rețea: Bridge, host, overlay și altele
- Comunicarea între containere
- Comunicarea între containere și sisteme externe
- Rețele Docker personalizate
- Izolare de rețea
- Descoperirea serviciilor
- Publish-ul și expunerea porturilor
- Rețele în medii multi-host
- Troubleshooting al rețelelor Docker
Siguranța Docker
- Fundamentele securității Docker
- Izolare containerelor și limitele de securitate
- Rularea containerelor cu privilegii corespunzătoare
- Managementul utilizatorilor și permisiunilor în interiorul containerelor
- Capabilitățile Linux și controalele de securitate
- Securizarea imaginilor Docker
- Scanning-ul vulnerabilităților imaginilor
- Managementul securizat al secretelor
- Securizarea registrelor Docker
- Securitatea rețelei și izolare
- Securitatea daemon-ului Docker
- Best practices pentru securitatea containerelor
Configurarea unui flux de lucru CI pentru aplicațiile Docker
- Introducere în CI pentru aplicațiile containerizate
- Build automat al imaginilor Docker
- Testare automată a imaginilor și containerelor Docker
- Etichetarea și managementul versiunilor imaginilor
- Integrarea controlului surselor cu build-urile Docker
- Scanning automat al vulnerabilităților imaginilor
- Publish-ul imaginilor în registre
- Managementul artefactelor de build
- Implementarea verificărilor automatizate de calitate
- Design-ul unui pipeline CI Docker repetabil
Integrarea aplicațiilor Docker într-un flux de lucru existent
- Integrarea Docker cu fluxurile de dezvoltare existente
- Containerizarea aplicațiilor existente
- Integrarea Docker cu platforme CI/CD
- Managementul mediilor de dezvoltare, testare, staging și producție
- Strategii de deploy automatizat
- Managementul configurației între medii
- Integrarea cu registrele
- Aprobari de deploy și managementul release-urilor
- Monitorizarea deploy-urilor aplicațiilor
- Păstrarea consistenței între medii
Best Practices pentru containere și orchestrare
- Design-ul imaginilor Docker întreținabile
- Optimizarea pornirii și performanței containerelor
- Managementul ciclului de viață al containerelor
- Allocarea eficientă a resurselor
- Strategii de logare și monitorizare
- Managementul configurațiilor și secretelor
- Disponibilitate ridicată și toleranță la erori
- Scalarea aplicațiilor containerizate
- Deploy sigur al containerelor
- Strategii de versionare și release
- Best practices pentru arhitectura de orchestrare
Troubleshooting
- Diagnosticarea eșecurilor la pornirea containerelor
- Investigarea logurilor aplicațiilor și containerelor
- Inspectarea containerelor și imaginilor
- Troubleshooting al problemelor de rețea
- Rezolvarea problemelor de stocare și volume
- Diagnosticarea eșecurilor la build-ul imaginilor
- Troubleshooting al aplicațiilor Docker Compose
- Investigarea problemelor de resurse și performanță
- Fundamentele troubleshooting-ului în Kubernetes
- Exerciții practice de troubleshooting
Concluzie
- Recapitularea conceptelor cheie Docker
- Recapitularea creării imaginilor și managementului containerelor
- Recapitularea deploy-ului aplicațiilor multi-container
- Recapitularea conceptelor de orchestrare și a Kubernetes
- Recapitularea rețelelor și securității Docker
- Recapitularea integrării CI/CD
- Best practices pentru containerizare și orchestrare
- Exercițiu final hands-on
- Întrebări și discuții
Cerințe
- Experiență anterioară în lucru cu containerele 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