Introducció
Docker és una plataforma de codi obert que automatitza el desplegament d'aplicacions dins de contenidors de programari, proporcionant una capa addicional d'abstracció i automatització de virtualització a nivell de sistema operatiu. Els contenidors permeten als desenvolupadors empaquetar una aplicació amb totes les seves dependències en una unitat estandarditzada per al desenvolupament de programari.
Conceptes Clau
Contenidors
- Definició: Un contenidor és una unitat estandarditzada de programari que empaqueta el codi i totes les seves dependències perquè l'aplicació s'executi de manera ràpida i fiable en diferents entorns informàtics.
- Avantatges:
- Portabilitat: Els contenidors poden executar-se en qualsevol entorn que tingui Docker instal·lat.
- Aïllament: Cada contenidor s'executa de manera aïllada, la qual cosa evita conflictes entre aplicacions.
- Eficiència: Els contenidors comparteixen el mateix sistema operatiu, la qual cosa els fa més lleugers que les màquines virtuals.
Imatges
- Definició: Una imatge Docker és una plantilla de només lectura que conté un sistema operatiu i el programari necessari per executar una aplicació.
- Construcció: Les imatges es construeixen a partir de fitxers Dockerfile, que defineixen les instruccions per crear la imatge.
Docker Engine
- Definició: Docker Engine és el motor de contenedores que permet crear, executar i gestionar contenidors Docker.
- Components:
- Docker Daemon: El servei que s'executa en segon pla i gestiona els contenidors.
- Docker CLI: La interfície de línia de comandes que permet als usuaris interactuar amb Docker Daemon.
Com Funciona Docker?
Docker utilitza una arquitectura client-servidor. El client Docker parla amb el Docker Daemon, que fa tot el treball pesat de construir, executar i gestionar els contenidors Docker. El client i el daemon poden executar-se en el mateix sistema, o bé, el client Docker pot connectar-se a un Docker Daemon remot.
Diagrama de l'Arquitectura de Docker
Component | Descripció |
---|---|
Docker Client | Interfície de línia de comandes que els usuaris utilitzen per interactuar amb Docker. |
Docker Daemon | Servei que gestiona les imatges, contenidors, xarxes i volums de Docker. |
Docker Registry | Repositori on es guarden les imatges Docker. |
Exemples Pràctics
Exemple 1: Executant un Contenidor Simple
Explicació:
docker run
: Comanda per executar un contenidor.hello-world
: Nom de la imatge que es vol executar. Si la imatge no està present localment, Docker la descarregarà del Docker Hub.
Exemple 2: Llistant Contenidors Actius
Explicació:
docker ps
: Comanda per llistar els contenidors actius.
Exercici Pràctic
Exercici 1: Executant el teu Primer Contenidor
- Assegura't que Docker està instal·lat i en funcionament al teu sistema.
- Obre una terminal i executa la següent comanda:
- Observa la sortida de la comanda i assegura't que el contenidor s'executa correctament.
Solució:
- La sortida hauria de mostrar un missatge de benvinguda de Docker, confirmant que el contenidor s'ha executat correctament.
Resum
En aquesta secció, hem après què és Docker, els conceptes clau com contenidors i imatges, i com funciona Docker a nivell d'arquitectura. També hem vist exemples pràctics de com executar un contenidor i llistar els contenidors actius. Amb aquesta base, estem preparats per aprofundir en la instal·lació de Docker i començar a treballar amb les seves funcionalitats bàsiques.
Docker: De Principiant a Avançat
Mòdul 1: Introducció a Docker
- Què és Docker?
- Instal·lant Docker
- Arquitectura de Docker
- Comandes bàsiques de Docker
- Entenent les imatges de Docker
- Creant el teu primer contenidor Docker
Mòdul 2: Treballant amb imatges Docker
- Docker Hub i Repositoris
- Construint imatges Docker
- Conceptes bàsics de Dockerfile
- Gestionant imatges Docker
- Etiquetant i pujant imatges
Mòdul 3: Contenidors Docker
- Executant contenidors
- Cicle de vida del contenidor
- Gestionant contenidors
- Xarxes a Docker
- Persistència de dades amb volums
Mòdul 4: Docker Compose
- Introducció a Docker Compose
- Definint serveis a Docker Compose
- Comandes de Docker Compose
- Aplicacions multi-contenidor
- Variables d'entorn a Docker Compose
Mòdul 5: Conceptes avançats de Docker
- Exploració profunda de xarxes Docker
- Opcions d'emmagatzematge de Docker
- Millors pràctiques de seguretat de Docker
- Optimitzant imatges Docker
- Registre i monitoratge de Docker
Mòdul 6: Docker en producció
- CI/CD amb Docker
- Orquestrant contenidors amb Docker Swarm
- Introducció a Kubernetes
- Desplegant contenidors Docker a Kubernetes
- Escalat i equilibrat de càrrega