🛠 Conteneuriser avec Docker sur le PC x86 embarqué

LattePanda 3 Delta (id: lattepanda-3) · avance · Schéma : IMG-lattepanda-3-avance-1-docker.svg — La LattePanda 3 Delta sous Ubuntu exécutant plusieurs conteneurs Docker (web, base de données, MQTT) au-dessus du moteur Docker et du noyau Linux, image eMMC en dessous.

Objetivos

La LattePanda 3 Delta es un PC x86-64 completo: a diferencia de las SBC ARM, todas las imágenes oficiales de Docker del registro (amd64) funcionan sin emulación. Este tutorial instala Docker Engine bajo Ubuntu 22.04, lanza un primer contenedor y luego despliega una pequeña pila de servicios con docker compose, teniendo en cuenta las restricciones embebidas: eMMC de 64 GB (dimensionar los volúmenes), TDP de 10 W (limitar la CPU), alimentación de 12 V/24 W. Se termina con el inicio automático al arrancar.

Material

Código completo

# 1. Installer Docker Engine (paquet Ubuntu standard, architecture amd64)
sudo apt update
sudo apt install -y docker.io docker-compose-plugin
sudo usermod -aG docker $USER   # puis se reconnecter

# 2. Premier conteneur de test
systemctl --now enable docker
docker run --rm hello-world

# 3. Petite pile de services — fichier compose.yaml
mkdir -p ~/pile && cd ~/pile
# compose.yaml — pile embarquée légère
services:
  web:
    image: nginx:alpine
    ports: ["8080:80"]
    restart: unless-stopped
    deploy:
      resources:
        limits:
          cpus: "1.0"        # le N5105 a 4 threads, on ménage la carte
          memory: 256M
  mosquitto:
    image: eclipse-mosquitto:2
    ports: ["1883:1883"]
    volumes:
      - ./mosquitto:/mosquitto/data
    restart: unless-stopped
# 4. Démarrer et vérifier
docker compose up -d
docker compose ps
docker stats --no-stream     # surveiller la CPU pendant la charge
curl -sI http://localhost:8080 | head -1

Verificación esperada

Se muestra hello-world, docker compose ps muestra los dos servicios en estado Up, y el curl devuelve HTTP/1.1 200 OK. Después de sudo reboot, los contenedores se reinician solos gracias a restart: unless-stopped. docker system df permite supervisar la ocupación de la eMMC.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales