Introducció
Les variables d'entorn són una manera poderosa de configurar aplicacions sense haver de modificar el codi font. En Docker Compose, les variables d'entorn es poden utilitzar per definir configuracions que poden variar entre diferents entorns (per exemple, desenvolupament, proves, producció). Aquest mòdul t'ensenyarà com utilitzar variables d'entorn en els teus fitxers docker-compose.yml
.
Conceptes Clau
- Variables d'entorn en el fitxer
docker-compose.yml
: Com definir variables directament en el fitxer. - Fitxers
.env
: Com utilitzar fitxers d'entorn per carregar variables. - Passar variables d'entorn des del sistema host: Com passar variables d'entorn des del sistema operatiu host al contenidor.
Definint Variables d'Entorn en el Fitxer docker-compose.yml
Pots definir variables d'entorn directament en el fitxer docker-compose.yml
utilitzant la clau environment
. Aquí tens un exemple:
Explicació del Codi
version: '3.8'
: Especifica la versió de Docker Compose.services
: Defineix els serveis que es desplegaran.web
: Nom del servei.image: nginx
: Utilitza la imatgenginx
.environment
: Defineix les variables d'entornNGINX_HOST
iNGINX_PORT
.
Utilitzant Fitxers .env
Els fitxers .env
són una manera convenient de gestionar variables d'entorn. Pots crear un fitxer .env
al mateix directori que el teu fitxer docker-compose.yml
i definir les variables d'entorn allà.
Exemple de Fitxer .env
Exemple de Fitxer docker-compose.yml
Utilitzant .env
Explicació del Codi
- Les variables
NGINX_HOST
iNGINX_PORT
es carregaran automàticament des del fitxer.env
.
Passar Variables d'Entorn des del Sistema Host
També pots passar variables d'entorn des del sistema operatiu host al contenidor. Això és útil quan vols que les variables d'entorn siguin dinàmiques.
Exemple
Exemple de Fitxer docker-compose.yml
version: '3.8' services: web: image: nginx environment: - NGINX_HOST=${NGINX_HOST} - NGINX_PORT=${NGINX_PORT}
Explicació del Codi
- Les variables
NGINX_HOST
iNGINX_PORT
es substitueixen pels valors definits en el sistema host.
Exercicis Pràctics
Exercici 1: Definir Variables d'Entorn en el Fitxer docker-compose.yml
- Crea un fitxer
docker-compose.yml
que defineixi un serveiweb
utilitzant la imatgenginx
. - Defineix les variables d'entorn
NGINX_HOST
iNGINX_PORT
directament en el fitxerdocker-compose.yml
.
Solució
Exercici 2: Utilitzar un Fitxer .env
- Crea un fitxer
.env
amb les variablesNGINX_HOST
iNGINX_PORT
. - Modifica el fitxer
docker-compose.yml
per utilitzar aquestes variables.
Solució
Fitxer .env
Fitxer docker-compose.yml
Exercici 3: Passar Variables d'Entorn des del Sistema Host
- Defineix les variables d'entorn
NGINX_HOST
iNGINX_PORT
en el sistema host. - Modifica el fitxer
docker-compose.yml
per utilitzar aquestes variables.
Solució
Comandes del Sistema Host
Fitxer docker-compose.yml
version: '3.8' services: web: image: nginx environment: - NGINX_HOST=${NGINX_HOST} - NGINX_PORT=${NGINX_PORT}
Conclusió
Les variables d'entorn són una eina essencial per configurar aplicacions de manera flexible i segura. En aquest mòdul, has après com definir variables d'entorn directament en el fitxer docker-compose.yml
, com utilitzar fitxers .env
i com passar variables d'entorn des del sistema host. Aquestes tècniques et permetran gestionar configuracions de manera més eficient i adaptable a diferents entorns.
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