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ó.

  1. Comanda bàsica docker run

La comanda docker run és la més utilitzada per iniciar un nou contenidor. La seva sintaxi bàsica és:

docker run [opcions] imatge [comanda] [arguments]

Exemple bàsic

docker run hello-world

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.

  1. Opcions comunes de docker run

2.1. Executar en mode desatès (-d)

Per executar un contenidor en segon pla (mode desatès), utilitzem l'opció -d:

docker run -d nginx

2.2. Assignar un nom al contenidor (--name)

Podem assignar un nom específic al contenidor per facilitar-ne la gestió:

docker run --name my-nginx -d nginx

2.3. Publicar ports (-p)

Per exposar ports del contenidor a la màquina host, utilitzem l'opció -p:

docker run -d -p 8080:80 nginx

2.4. Muntar volums (-v)

Per muntar un directori de l'host dins del contenidor, utilitzem l'opció -v:

docker run -d -v /path/to/host/dir:/path/to/container/dir nginx

  1. Interactuar amb un contenidor en execució

3.1. Veure els contenidors en execució

Per veure una llista dels contenidors en execució, utilitzem:

docker ps

3.2. Accedir a un contenidor en execució

Per accedir a un contenidor en execució, utilitzem la comanda docker exec:

docker exec -it my-nginx /bin/bash

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.

  1. Gestionar contenidors

4.1. Aturar un contenidor

Per aturar un contenidor en execució, utilitzem:

docker stop my-nginx

4.2. Reiniciar un contenidor

Per reiniciar un contenidor, utilitzem:

docker restart my-nginx

4.3. Eliminar un contenidor

Per eliminar un contenidor aturat, utilitzem:

docker rm my-nginx

Exercicis pràctics

Exercici 1: Executar un contenidor en mode desatès

  1. Executa un contenidor de la imatge nginx en mode desatès.
  2. Assigna-li el nom web-server.
  3. Publica el port 8080 de l'host al port 80 del contenidor.

Solució

docker run -d --name web-server -p 8080:80 nginx

Exercici 2: Accedir a un contenidor en execució

  1. Accedeix al contenidor web-server i obre una sessió de terminal.

Solució

docker exec -it web-server /bin/bash

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.

© Copyright 2024. Tots els drets reservats