Guia d'inici a Docker: Començar ràpidament a contenir la teva aplicació

2/18/2026
7 min read

Guia d'inici a Docker: Començar ràpidament a contenir la teva aplicació

Docker s'ha convertit en una part indispensable del desenvolupament i desplegament de programari modern. Tot i la gran quantitat de discussions al voltant de Kubernetes, Docker continua sent l'eina preferida per moltes empreses per construir, provar i desplegar aplicacions. Aquest article et guiarà ràpidament per començar amb Docker, entendre els seus conceptes bàsics i proporcionarà un exemple pràctic per ajudar-te a començar a contenir la teva aplicació.

Conceptes bàsics de Docker

Abans de començar a practicar, és essencial entendre alguns conceptes bàsics de Docker:

  • Imatge (Image): Una imatge és una plantilla de només lectura que conté tot el necessari per executar una aplicació: codi, entorn d'execució, eines del sistema, biblioteques i dependències. Similar a una imatge de màquina virtual, però més lleugera.

  • Contenidor (Container): Un contenidor és una instància en execució creada a partir d'una imatge. És una instància en temps d'execució d'una imatge, que conté l'aplicació i totes les seves dependències. Els contenidors estan aïllats entre si i tenen el seu propi sistema de fitxers, processos i espai de xarxa.

  • Docker Hub: Docker Hub és un registre d'imatges públic on pots descarregar imatges preconstruïdes o carregar les teves pròpies imatges. Similar a GitHub, però especialitzat en imatges de Docker.

  • Dockerfile: Un Dockerfile és un fitxer de text que conté totes les instruccions per construir una imatge de Docker. En escriure un Dockerfile, pots automatitzar el procés de creació d'imatges.

  • Docker Compose: Docker Compose és una eina per definir i executar aplicacions Docker de diversos contenidors. Et permet utilitzar fitxers YAML per configurar els serveis de l'aplicació i, a continuació, utilitzar una sola ordre per iniciar o aturar tots els serveis.

Instal·lació de Docker

Primer, has d'instal·lar Docker. Docker proporciona paquets d'instal·lació per a diversos sistemes operatius. Visita el lloc web oficial de Docker i segueix les instruccions corresponents per instal·lar-lo.

Un cop finalitzada la instal·lació, pots executar l'ordre docker --version per verificar si Docker s'ha instal·lat correctament.

Contenir una aplicació Python senzilla

Crearem una aplicació Python senzilla i l'utilitzarem Docker per contenir-la.

1. Crear l'aplicació Python

Crea un fitxer anomenat app.py que contingui el codi següent:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello, Docker!"

if __name__ == "__main__":
    app.run(debug=True, host='0.0.0.0')

Aquesta senzilla aplicació Flask retornarà "Hello, Docker!" a la ruta arrel /.

2. Crear el fitxer requirements.txt

L'aplicació depèn de la biblioteca Flask, hem de crear un fitxer requirements.txt per declarar aquestes dependències.

Flask

3. Crear el Dockerfile

Crea un fitxer anomenat Dockerfile i afegeix-hi el contingut següent:

# Utilitza la imatge oficial de Python com a imatge base
FROM python:3.9-slim-buster

# Estableix el directori de treball
WORKDIR /app

# Copia el fitxer requirements.txt al directori de treball
COPY requirements.txt .

# Instal·la les dependències
RUN pip install --no-cache-dir -r requirements.txt
```# Copieu el codi de l'aplicació al directori de treball
COPY app.py .

# Exposeu el port 5000
EXPOSE 5000

# Definiu l'ordre d'inici
CMD ["python", "app.py"]

Explicació del Dockerfile:

  • FROM python:3.9-slim-buster: Especifica la imatge base com a una versió reduïda de Python 3.9.
  • WORKDIR /app: Estableix el directori de treball dins del contenidor a /app.
  • COPY requirements.txt .: Copia el fitxer requirements.txt del directori actual al directori /app del contenidor.
  • RUN pip install --no-cache-dir -r requirements.txt: Executa l'ordre pip dins del contenidor per instal·lar les dependències especificades al fitxer requirements.txt. El paràmetre --no-cache-dir pot reduir la mida de la imatge.
  • COPY app.py .: Copia el fitxer app.py del directori actual al directori /app del contenidor.
  • EXPOSE 5000: Declara que el contenidor escoltarà al port 5000.
  • CMD ["python", "app.py"]: Defineix l'ordre que s'executarà quan s'iniciï el contenidor.

4. Construïu la imatge Docker

Al directori que conté el Dockerfile, executeu l'ordre següent per construir la imatge Docker:

docker build -t my-python-app .
  • docker build: L'ordre per construir la imatge.
  • -t my-python-app: Assigna un nom a la imatge (my-python-app).
  • .: Especifica el directori on es troba el Dockerfile (el directori actual).

El procés de construcció pot trigar una mica, depenent de la velocitat de la xarxa i la mida de les dependències.

5. Executeu el contenidor Docker

Utilitzeu l'ordre següent per executar el contenidor Docker:

docker run -d -p 5000:5000 my-python-app
  • docker run: L'ordre per executar el contenidor.
  • -d: Executa el contenidor en mode separat (s'executa en segon pla).
  • -p 5000:5000: Assigna el port 5000 de l'amfitrió al port 5000 del contenidor.
  • my-python-app: Especifica el nom de la imatge que s'utilitzarà.

6. Verifiqueu l'aplicació

Aneu a http://localhost:5000 en un navegador i hauríeu de veure "Hello, Docker!".

7. Atureu i suprimiu el contenidor

Utilitzeu l'ordre següent per aturar el contenidor:

docker stop 

`` es pot veure mitjançant l'ordre docker ps.

Utilitzeu l'ordre següent per suprimir el contenidor:

docker rm 

Introducció a Docker Compose

Si la vostra aplicació consta de diversos serveis, podeu utilitzar Docker Compose per gestionar-los.

1. Creeu un fitxer docker-compose.yml

Creeu un fitxer anomenat docker-compose.yml i afegiu-hi el contingut següent:

version: "3.9"
services:
  web:
    image: my-python-app
    ports:
      - "5000:5000"

Explicació de docker-compose.yml:* version: "3.9": Especifica la versió del fitxer Docker Compose.

  • services: Defineix els serveis de l'aplicació.
  • web: Defineix un servei anomenat "web".
  • image: my-python-app: Especifica la imatge que utilitza el servei.
  • ports: Defineix el mapeig de ports.

2. Inicia l'aplicació

Al directori que conté el fitxer docker-compose.yml, executeu l'ordre següent per iniciar l'aplicació:

docker-compose up -d
  • docker-compose up: Ordre per iniciar l'aplicació.
  • -d: Executa el contenidor en mode separat.

3. Atura l'aplicació

Utilitzeu l'ordre següent per aturar l'aplicació:

docker-compose down

Bones pràctiques de seguretat de Docker

Com es pot veure a la discussió, la seguretat de les imatges de Docker és un problema important. A continuació, es mostren algunes bones pràctiques de seguretat de Docker:

  • Utilitzeu imatges oficials: Utilitzeu imatges proporcionades oficialment sempre que sigui possible, ja que normalment s'han sotmès a exploracions de seguretat i manteniment.
  • Escaneja les vulnerabilitats de la imatge: Utilitzeu eines com Trivy per escanejar les vulnerabilitats conegudes a les imatges i actualitzeu les imatges de manera oportuna.
  • Utilitzeu el principi de privilegis mínims: Eviteu executar contenidors com a usuari root.
  • Limita els recursos del contenidor: Utilitzeu cgroups per limitar l'ús de CPU i memòria del contenidor.
  • Actualitzeu les imatges periòdicament: Mantingueu les imatges actualitzades per solucionar les vulnerabilitats de seguretat.
  • Utilitzeu eines d'escaneig de seguretat: Eines com Snyk, Clair, etc. es poden integrar al vostre procés CI/CD per escanejar automàticament les vulnerabilitats de la imatge.

ConclusióAquest article proporciona una guia d'inici ràpid de Docker, que cobreix els conceptes bàsics, els passos d'instal·lació i un exemple senzill de containerització d'una aplicació Python. En aprendre aquests fonaments, pots començar a utilitzar Docker per construir, provar i desplegar les teves aplicacions. Recorda, la seguretat és primordial, i sempre has de prestar atenció a la seguretat de les imatges de Docker i prendre les mesures adequades per protegir les teves aplicacions. Tot i que Kubernetes és potent en l'orquestració de contenidors a gran escala, Docker continua sent una solució senzilla i eficaç en molts escenaris. Dominant Docker, estaràs millor preparat per afrontar els reptes del desenvolupament i desplegament de programari modern.

Published in Technology

You Might Also Like