usar-docker-en-raspberry-pi

Cómo Usar Docker en una Raspberry Pi

Docker es una plataforma que permite a los desarrolladores crear, desplegar y ejecutar aplicaciones en contenedores. Ha revolucionado la forma en que desarrollamos, desplegamos y ejecutamos aplicaciones al proporcionar una plataforma de contenedores ligera y portátil.

Los contenedores son entornos aislados que empaquetan una aplicación y todas sus dependencias, lo que garantiza que funcionen de manera consistente en diferentes entornos. Son como “mini entornos de virtualización”

Docker facilita la gestión de estos contenedores mediante comandos simples y archivos de configuración, como los Dockerfiles y los docker-compose.yml.

Algunos de los beneficios de usar Docker son,

  • Portabilidad: Los contenedores Docker se pueden ejecutar en cualquier entorno compatible, desde un ordenador local hasta un servidor en la nube.
  • Consistencia: Al contener todas las dependencias necesarias, Docker asegura que la aplicación se ejecute de la misma manera en cualquier lugar.
  • Escalabilidad: Docker permite desplegar y gestionar aplicaciones a gran escala con facilidad.

Instalación de Docker en Raspberry Pi

Para comenzar a usar Docker en nuestra Raspberry Pi, Primero, actualizamos la lista de paquetes y el sistema para asegurarnos de que todo esté al día. Ejecutamos los siguientes comandos:

sudo apt update
sudo apt upgrade

Luego, instalamos Docker utilizando el siguiente comando:

sudo apt install docker.io

Este comando descargará e instalará la última versión de Docker para nuestra Raspberry Pi. Finalmente, verificamos que Docker se haya instalado correctamente ejecutando:

docker --version

Deberíamos ver la versión de Docker instalada en nuestra Raspberry Pi.

Uso básico de Docker

Con Docker instalado, puedes comenzar a crear y gestionar contenedores. A continuación, veremos algunos comandos básicos y ejemplos prácticos.

Ejecutar un contenedor

Para ejecutar un contenedor, usa el comando docker run. Por ejemplo, para ejecutar un contenedor de la imagen hello-world, que verifica que Docker esté funcionando correctamente, usa:

docker run hello-world

Descargar imágenes

Docker usa imágenes para crear contenedores. Puedes buscar e instalar imágenes desde Docker Hub (el registro oficial de imágenes de Docker). Por ejemplo, para descargar una imagen de nginx, usa:

docker pull nginx

Ejecutar un contenedor de Nginx

Para ejecutar un contenedor basado en la imagen de nginx y mapear el puerto 80 del contenedor al puerto 8080 de tu Raspberry Pi, usa:

docker run -d -p 8080:80 nginx

Ahora, si abres un navegador y navegas a http://<IP_DE_TU_RASPBERRY>:8080, deberías ver la página de bienvenida de Nginx.

Ver contenedores activos

Para listar los contenedores en ejecución, usa:

docker ps

Detener y eliminar contenedores

Para detener un contenedor, usa el comando docker stop seguido del ID o nombre del contenedor:

docker stop <container_id>

Para eliminar un contenedor detenido, usa:

docker rm <container_id>

Crear nuestras propias imagenes

Docker es ideal para configurar entornos de desarrollo consistentes. Supongamos que necesitas desarrollar una aplicación Python. Puedes usar un Dockerfile para crear una imagen personalizada que incluya Python y tus dependencias.

Primero, en un nuevo directorio, creamos un archivo llamado my-python-app con el siguiente contenido:

FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]

Luego, construimos la imagen usando el comando:

docker build -t my-python-app .

Finalmente, ejecutamos la imagen como un contenedor con el siguiente comando:

docker run -d my-python-app

Implementar una aplicación Web

Si estás trabajando en un proyecto web, puedes usar Docker Compose para definir y ejecutar múltiples contenedores. Crea un archivo docker-compose.yml como el siguiente:

version: '3'
services:
  web:
    image: nginx
    ports:
      - "8080:80"
  db:
    image: postgres
    environment:
      POSTGRES_DB: mydatabase
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password

Ejecuta los contenedores con:

docker-compose up

Esto iniciará un contenedor de Nginx y un contenedor de PostgreSQL, configurados para trabajar juntos.