Introducció

Els contenidors són una tecnologia que permet empaquetar una aplicació i les seves dependències en una unitat estandarditzada per al desenvolupament de programari. Docker és una plataforma popular que utilitza contenidors per facilitar el desplegament, la gestió i l'escalabilitat d'aplicacions.

Objectius del Mòdul

  • Entendre què són els contenidors i com funcionen.
  • Aprendre a utilitzar Docker per crear, gestionar i desplegar contenidors.
  • Explorar les millors pràctiques per treballar amb contenidors.

Què són els Contenidors?

Els contenidors són una forma de virtualització a nivell de sistema operatiu que permeten executar múltiples aplicacions aïllades en un sol host. A diferència de les màquines virtuals, els contenidors comparteixen el mateix nucli del sistema operatiu, la qual cosa els fa més lleugers i eficients.

Característiques Clau

  • Aïllament: Cada contenidor funciona de manera independent, amb el seu propi sistema de fitxers, xarxa i espai de processos.
  • Portabilitat: Els contenidors poden executar-se en qualsevol entorn que tingui Docker instal·lat.
  • Eficiència: Comparats amb les màquines virtuals, els contenidors consumeixen menys recursos perquè comparteixen el nucli del sistema operatiu.

Introducció a Docker

Docker és una plataforma de codi obert que automatitza el desplegament d'aplicacions dins de contenidors. Proporciona eines per crear, gestionar i distribuir contenidors de manera eficient.

Components de Docker

  • Docker Engine: El motor de Docker és el component principal que permet la creació i execució de contenidors.
  • Docker Hub: Un registre públic on es poden trobar i compartir imatges de Docker.
  • Docker Compose: Una eina per definir i executar aplicacions multi-contenidor.

Instal·lació de Docker

Pas 1: Actualitzar el Sistema

sudo apt-get update

Pas 2: Instal·lar Paquets Prerequisits

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

Pas 3: Afegir el Repositori de Docker

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Pas 4: Instal·lar Docker

sudo apt-get update
sudo apt-get install docker-ce

Pas 5: Verificar la Instal·lació

sudo systemctl status docker

Comandes Bàsiques de Docker

Crear i Executar un Contenidor

docker run -it ubuntu
  • docker run: Crea i executa un nou contenidor.
  • -it: Opcions per executar el contenidor en mode interactiu.
  • ubuntu: Imatge de Docker a utilitzar.

Llistar Contenidors

docker ps
  • docker ps: Mostra els contenidors en execució.

Aturar un Contenidor

docker stop <container_id>
  • docker stop: Atura un contenidor en execució.
  • <container_id>: Identificador del contenidor.

Eliminar un Contenidor

docker rm <container_id>
  • docker rm: Elimina un contenidor aturat.
  • <container_id>: Identificador del contenidor.

Creació d'Imatges de Docker

Dockerfile

Un Dockerfile és un fitxer de text que conté les instruccions per crear una imatge de Docker.

Exemple de Dockerfile

# Utilitzar una imatge base
FROM ubuntu:latest

# Actualitzar el sistema
RUN apt-get update && apt-get upgrade -y

# Instal·lar Nginx
RUN apt-get install -y nginx

# Exposar el port 80
EXPOSE 80

# Comanda per executar Nginx
CMD ["nginx", "-g", "daemon off;"]

Construir una Imatge

docker build -t my-nginx-image .
  • docker build: Construeix una imatge a partir d'un Dockerfile.
  • -t my-nginx-image: Assigna un nom a la imatge.
  • .: Indica el directori actual com a context de construcció.

Exercicis Pràctics

Exercici 1: Crear un Contenidor Simple

  1. Crea un Dockerfile que instal·li Apache en una imatge d'Ubuntu.
  2. Construeix la imatge.
  3. Executa un contenidor a partir de la imatge creada.

Solució

# Utilitzar una imatge base
FROM ubuntu:latest

# Actualitzar el sistema
RUN apt-get update && apt-get upgrade -y

# Instal·lar Apache
RUN apt-get install -y apache2

# Exposar el port 80
EXPOSE 80

# Comanda per executar Apache
CMD ["apache2ctl", "-D", "FOREGROUND"]
docker build -t my-apache-image .
docker run -d -p 80:80 my-apache-image

Exercici 2: Utilitzar Docker Compose

  1. Crea un fitxer docker-compose.yml per desplegar una aplicació web amb un contenidor de Nginx i un contenidor de MySQL.
  2. Executa l'aplicació amb Docker Compose.

Solució

version: '3'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
  db:
    image: mysql:latest
    environment:
      MYSQL_ROOT_PASSWORD: example
docker-compose up

Resum

En aquest mòdul, hem après què són els contenidors i com utilitzar Docker per crear, gestionar i desplegar aplicacions en contenidors. Hem explorat les comandes bàsiques de Docker, la creació d'imatges amb Dockerfile i l'ús de Docker Compose per gestionar aplicacions multi-contenidor. Amb aquests coneixements, estàs preparat per començar a treballar amb contenidors i aprofitar els avantatges que ofereixen en termes d'aïllament, portabilitat i eficiència.

Domini de Linux: De Principiant a Avançat

Mòdul 1: Introducció a Linux

Mòdul 2: Comandes Bàsiques de Linux

Mòdul 3: Habilitats Avançades de la Línia de Comandes

Mòdul 4: Scripting de Shell

Mòdul 5: Administració del Sistema

Mòdul 6: Xarxes i Seguretat

Mòdul 7: Temes Avançats

Mòdul 8: Projectes Pràctics

© Copyright 2024. Tots els drets reservats