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:
Pas 3: Executar un Contenidor NGINX
Un cop descarregada la imatge, podem crear i executar un contenidor NGINX amb la següent comanda:
--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:
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:
Pas 3: Construir la Imatge Docker
Construeix la imatge Docker utilitzant el Dockerfile:
Pas 4: Executar el Contenidor amb la Nova Imatge
Executa un contenidor utilitzant la imatge personalitzada:
Exercicis Pràctics
Exercici 1: Crear i Executar un Contenidor NGINX
- Descarrega la imatge oficial d'NGINX.
- Executa un contenidor NGINX mapejant el port 80 de l'amfitrió al port 80 del contenidor.
- Verifica que el contenidor està en execució.
Exercici 2: Configurar NGINX dins d'un Contenidor Docker
- Crea un fitxer de configuració NGINX personalitzat.
- Crea un Dockerfile que copiï el fitxer de configuració al contenidor.
- Construeix una imatge Docker utilitzant el Dockerfile.
- 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
- 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; } }
- Crear un Dockerfile:
- Construir la imatge Docker:
- Executar un contenidor utilitzant la imatge personalitzada:
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.
Curs de NGINX
Mòdul 1: Introducció a NGINX
Mòdul 2: NGINX com a servidor web
- Servint contingut estàtic
- Llistats de directoris
- Pàgines d'error personalitzades
- Registre i formats de registre