En aquest tema, aprendrem com executar contenidors Docker, una de les operacions més bàsiques i essencials per treballar amb Docker. Explorarem les comandes bàsiques per iniciar contenidors, veurem com interactuar amb ells i com gestionar-los.
Objectius d'aprenentatge
- Entendre com executar un contenidor Docker.
- Aprendre a utilitzar les opcions bàsiques de la comanda
docker run
. - Saber com interactuar amb un contenidor en execució.
- Gestionar contenidors en execució.
- Comanda bàsica
docker run
docker run
La comanda docker run
és la més utilitzada per iniciar un nou contenidor. La seva sintaxi bàsica és:
Exemple bàsic
Aquest exemple descarregarà la imatge hello-world
(si no està ja present al sistema) i executarà un contenidor que mostrarà un missatge de benvinguda.
Explicació del codi
docker run
: Inicia un nou contenidor.hello-world
: Nom de la imatge que s'utilitzarà per crear el contenidor.
- Opcions comunes de
docker run
docker run
2.1. Executar en mode desatès (-d
)
Per executar un contenidor en segon pla (mode desatès), utilitzem l'opció -d
:
2.2. Assignar un nom al contenidor (--name
)
Podem assignar un nom específic al contenidor per facilitar-ne la gestió:
2.3. Publicar ports (-p
)
Per exposar ports del contenidor a la màquina host, utilitzem l'opció -p
:
2.4. Muntar volums (-v
)
Per muntar un directori de l'host dins del contenidor, utilitzem l'opció -v
:
- Interactuar amb un contenidor en execució
3.1. Veure els contenidors en execució
Per veure una llista dels contenidors en execució, utilitzem:
3.2. Accedir a un contenidor en execució
Per accedir a un contenidor en execució, utilitzem la comanda docker exec
:
Explicació del codi
docker exec
: Executa una comanda en un contenidor en execució.-it
: Opcions per interactuar amb el terminal.my-nginx
: Nom del contenidor./bin/bash
: Comanda a executar dins del contenidor.
- Gestionar contenidors
4.1. Aturar un contenidor
Per aturar un contenidor en execució, utilitzem:
4.2. Reiniciar un contenidor
Per reiniciar un contenidor, utilitzem:
4.3. Eliminar un contenidor
Per eliminar un contenidor aturat, utilitzem:
Exercicis pràctics
Exercici 1: Executar un contenidor en mode desatès
- Executa un contenidor de la imatge
nginx
en mode desatès. - Assigna-li el nom
web-server
. - Publica el port 8080 de l'host al port 80 del contenidor.
Solució
Exercici 2: Accedir a un contenidor en execució
- Accedeix al contenidor
web-server
i obre una sessió de terminal.
Solució
Errors comuns i consells
- Error: "port already in use": Assegura't que el port que estàs intentant publicar no està sent utilitzat per un altre servei a l'host.
- Error: "container name already in use": Si el nom del contenidor ja està en ús, utilitza un nom diferent o elimina el contenidor existent.
Conclusió
En aquesta secció, hem après com executar contenidors Docker utilitzant la comanda docker run
i les seves opcions més comunes. També hem vist com interactuar amb contenidors en execució i com gestionar-los. Amb aquests coneixements, estàs preparat per començar a treballar amb contenidors Docker de manera efectiva. En la següent secció, explorarem el cicle de vida dels contenidors Docker.
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