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
Pas 2: Instal·lar Paquets Prerequisits
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
Pas 5: Verificar la Instal·lació
Comandes Bàsiques de Docker
Crear i Executar un Contenidor
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
: Mostra els contenidors en execució.
Aturar un Contenidor
docker stop
: Atura un contenidor en execució.<container_id>
: Identificador del contenidor.
Eliminar un Contenidor
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
: 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
- Crea un Dockerfile que instal·li Apache en una imatge d'Ubuntu.
- Construeix la imatge.
- 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"]
Exercici 2: Utilitzar Docker Compose
- Crea un fitxer
docker-compose.yml
per desplegar una aplicació web amb un contenidor de Nginx i un contenidor de MySQL. - 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
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
- Què és Linux?
- Història de Linux
- Distribucions de Linux
- Instal·lant Linux
- Estructura del Sistema de Fitxers de Linux
Mòdul 2: Comandes Bàsiques de Linux
- Introducció a la Línia de Comandes
- Navegant pel Sistema de Fitxers
- Operacions amb Fitxers i Directoris
- Visualització i Edició de Fitxers
- Permisos i Propietat dels Fitxers
Mòdul 3: Habilitats Avançades de la Línia de Comandes
- Ús de Comodins i Expressions Regulars
- Piping i Redirecció
- Gestió de Processos
- Programació de Tasques amb Cron
- Comandes de Xarxa
Mòdul 4: Scripting de Shell
- Introducció al Scripting de Shell
- Variables i Tipus de Dades
- Estructures de Control
- Funcions i Biblioteques
- Depuració i Gestió d'Errors
Mòdul 5: Administració del Sistema
- Gestió d'Usuaris i Grups
- Gestió de Discs
- Gestió de Paquets
- Monitorització del Sistema i Optimització del Rendiment
- Còpia de Seguretat i Restauració
Mòdul 6: Xarxes i Seguretat
- Configuració de Xarxa
- Tallafocs i Seguretat
- SSH i Accés Remot
- Sistemes de Detecció d'Intrusions
- Assegurant Sistemes Linux
Mòdul 7: Temes Avançats
- Virtualització amb Linux
- Contenidors de Linux i Docker
- Automatització amb Ansible
- Optimització del Nucli de Linux
- Alta Disponibilitat i Balanceig de Càrrega