En aquest tema, aprendrem com utilitzar NGINX amb Docker. Docker és una eina que permet crear, desplegar i executar aplicacions en contenidors. Els contenidors permeten empaquetar una aplicació amb totes les seves dependències en un entorn aïllat, facilitant la portabilitat i la consistència entre diferents entorns de desenvolupament i producció.

Objectius del Tema

  • Entendre els conceptes bàsics de Docker.
  • Aprendre a crear un contenidor Docker per a NGINX.
  • Configurar NGINX dins d'un contenidor Docker.
  • Exemples pràctics i exercicis.

Conceptes Bàsics de Docker

Què és Docker?

Docker és una plataforma de codi obert que automatitza el desplegament d'aplicacions dins de contenidors de programari. Els contenidors són lleugers, portables i ofereixen un entorn aïllat per executar aplicacions.

Components Clau de Docker

  • Docker Engine: El motor que permet crear i executar contenidors.
  • Docker Images: Plantilles de només lectura que defineixen el contingut d'un contenidor.
  • Docker Containers: Instàncies en execució de les imatges Docker.
  • Docker Hub: Un registre públic per compartir i descarregar imatges Docker.

Creant un Contenidor Docker per a NGINX

Pas 1: Instal·lar Docker

Abans de començar, assegura't de tenir Docker instal·lat al teu sistema. Pots seguir les instruccions oficials d'instal·lació a docs.docker.com.

Pas 2: Descarregar la Imatge d'NGINX

Docker Hub ofereix una imatge oficial d'NGINX que podem utilitzar. Per descarregar-la, executa la següent comanda:

docker pull nginx

Pas 3: Executar un Contenidor NGINX

Un cop descarregada la imatge, podem crear i executar un contenidor NGINX amb la següent comanda:

docker run --name my-nginx -p 80:80 -d nginx
  • --name my-nginx: Assigna un nom al contenidor.
  • -p 80:80: Mapatge de ports (port 80 del contenidor al port 80 de l'amfitrió).
  • -d: Executa el contenidor en segon pla (detached mode).

Pas 4: Verificar l'Execució

Per verificar que el contenidor està en execució, pots utilitzar la següent comanda:

docker ps

Aquesta comanda llista tots els contenidors en execució. Hauries de veure el contenidor my-nginx a la llista.

Configurant NGINX dins d'un Contenidor Docker

Pas 1: Crear un Fitxer de Configuració Personalitzat

Crea un fitxer de configuració NGINX personalitzat, per exemple nginx.conf:

server {
    listen 80;
    server_name localhost;

    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }
}

Pas 2: Crear un Dockerfile

Un Dockerfile és un fitxer de text que conté les instruccions per crear una imatge Docker. Crea un fitxer anomenat Dockerfile amb el següent contingut:

FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf

Pas 3: Construir la Imatge Docker

Construeix la imatge Docker utilitzant el Dockerfile:

docker build -t custom-nginx .

Pas 4: Executar el Contenidor amb la Nova Imatge

Executa un contenidor utilitzant la imatge personalitzada:

docker run --name my-custom-nginx -p 80:80 -d custom-nginx

Exercicis Pràctics

Exercici 1: Crear i Executar un Contenidor NGINX

  1. Descarrega la imatge oficial d'NGINX.
  2. Executa un contenidor NGINX mapejant el port 80 de l'amfitrió al port 80 del contenidor.
  3. Verifica que el contenidor està en execució.

Exercici 2: Configurar NGINX dins d'un Contenidor Docker

  1. Crea un fitxer de configuració NGINX personalitzat.
  2. Crea un Dockerfile que copiï el fitxer de configuració al contenidor.
  3. Construeix una imatge Docker utilitzant el Dockerfile.
  4. Executa un contenidor utilitzant la imatge personalitzada.

Solucions als Exercicis

Solució a l'Exercici 1

# Descarregar la imatge oficial d'NGINX
docker pull nginx

# Executar un contenidor NGINX
docker run --name my-nginx -p 80:80 -d nginx

# Verificar que el contenidor està en execució
docker ps

Solució a l'Exercici 2

  1. Crear un fitxer de configuració NGINX personalitzat (nginx.conf):
server {
    listen 80;
    server_name localhost;

    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }
}
  1. Crear un Dockerfile:
FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
  1. Construir la imatge Docker:
docker build -t custom-nginx .
  1. Executar un contenidor utilitzant la imatge personalitzada:
docker run --name my-custom-nginx -p 80:80 -d custom-nginx

Conclusió

En aquest tema, hem après com utilitzar NGINX amb Docker, des de la descàrrega de la imatge oficial fins a la creació d'una imatge personalitzada amb un fitxer de configuració específic. Hem vist com executar contenidors i com verificar que estan en funcionament. A més, hem proporcionat exercicis pràctics per reforçar els conceptes apresos. En el proper tema, explorarem com NGINX pot treballar amb HTTP/2 per millorar el rendiment de les aplicacions web.

© Copyright 2024. Tots els drets reservats