Introducció

En aquesta secció, explorarem els conceptes fonamentals dels contenidors i Docker, una de les tecnologies més populars per a la creació, desplegament i gestió de microserveis. Aprendrem com Docker facilita la creació de contenidors, que són unitats lleugeres i portàtils que encapsulen una aplicació i les seves dependències.

Conceptes Bàsics de Contenidors

Què és un Contenidor?

Un contenidor és una unitat estàndard de programari que empaqueta el codi i totes les seves dependències perquè l'aplicació s'executi de manera ràpida i fiable d'un entorn informàtic a un altre.

Característiques dels Contenidors

  • Aïllament: Cada contenidor s'executa de manera aïllada dels altres, proporcionant un entorn segur i independent.
  • Portabilitat: Els contenidors poden executar-se en qualsevol sistema que tingui un motor de contenidors compatible, com Docker.
  • Eficiència: Els contenidors comparteixen el sistema operatiu del host, la qual cosa els fa més lleugers que les màquines virtuals.

Introducció a Docker

Què és Docker?

Docker és una plataforma de codi obert que automatitza la implementació d'aplicacions dins de contenidors de programari. Proporciona una manera senzilla de crear, desplegar i executar aplicacions en contenidors.

Components Clau de Docker

  • Docker Engine: El motor de Docker és el component principal que permet la creació i execució de contenidors.
  • Docker Images: Una imatge de Docker és una plantilla llegible que conté tot el necessari per executar una aplicació, incloent el codi, les biblioteques i les eines de configuració.
  • Docker Containers: Un contenidor és una instància en execució d'una imatge de Docker.
  • Docker Hub: Un registre públic on es poden trobar i compartir imatges de Docker.

Instal·lació de Docker

Requisits del Sistema

  • Sistema Operatiu: Docker és compatible amb Linux, Windows i macOS.
  • Memòria: Es recomana tenir almenys 4 GB de RAM.
  • Espai en Disc: Es recomana tenir almenys 10 GB d'espai lliure en disc.

Passos d'Instal·lació

  1. Linux:

    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
    sudo systemctl start docker
    sudo systemctl enable docker
    
  2. Windows:

    • Descarrega i instal·la Docker Desktop des del lloc web oficial de Docker.
    • Segueix les instruccions de la instal·lació i reinicia el sistema si és necessari.
  3. macOS:

    • Descarrega i instal·la Docker Desktop des del lloc web oficial de Docker.
    • Segueix les instruccions de la instal·lació i reinicia el sistema si és necessari.

Creació i Execució de Contenidors

Crear una Imatge de Docker

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

    # Usa una imatge base oficial de Node.js
    FROM node:14
    
    # Estableix el directori de treball dins del contenidor
    WORKDIR /app
    
    # Copia els fitxers de l'aplicació al directori de treball
    COPY . .
    
    # Instal·la les dependències de l'aplicació
    RUN npm install
    
    # Exposa el port en què l'aplicació s'executarà
    EXPOSE 3000
    
    # Comanda per executar l'aplicació
    CMD ["node", "app.js"]
    
  2. Construir la Imatge:

    docker build -t my-node-app .
    

Executar un Contenidor

  1. Executar el Contenidor:

    docker run -p 3000:3000 my-node-app
    
  2. Verificar l'Execució:

    • Obre un navegador web i navega a http://localhost:3000 per veure l'aplicació en execució.

Gestió de Contenidors

Comandes Bàsiques de Docker

  • Llistar Contenidors:

    docker ps
    
  • Aturar un Contenidor:

    docker stop <container_id>
    
  • Eliminar un Contenidor:

    docker rm <container_id>
    
  • Llistar Imatges:

    docker images
    
  • Eliminar una Imatge:

    docker rmi <image_id>
    

Exercici Pràctic

Objectiu

Crear i executar un contenidor Docker per a una aplicació web simple.

Passos

  1. Crea un fitxer Dockerfile amb el següent contingut:

    FROM python:3.8-slim
    
    WORKDIR /app
    
    COPY . .
    
    RUN pip install flask
    
    EXPOSE 5000
    
    CMD ["python", "app.py"]
    
  2. Crea un fitxer app.py amb el següent contingut:

    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        return 'Hello, Docker!'
    
    if __name__ == '__main__':
        app.run(host='0.0.0.0', port=5000)
    
  3. Construeix la Imatge:

    docker build -t my-flask-app .
    
  4. Executa el Contenidor:

    docker run -p 5000:5000 my-flask-app
    
  5. Verifica l'Execució:

    • Obre un navegador web i navega a http://localhost:5000 per veure l'aplicació en execució.

Resum

En aquesta secció, hem après els conceptes bàsics dels contenidors i Docker, incloent la seva instal·lació, creació d'imatges, execució de contenidors i gestió bàsica. Docker és una eina poderosa que facilita el desplegament i la gestió de microserveis, proporcionant un entorn consistent i portàtil per a les aplicacions.

© Copyright 2024. Tots els drets reservats