🛠 Docker dès la sortie de l'emballage : premier conteneur sur le Linux embarqué

Arduino Portenta X8 · debutant · Schéma : IMG-portenta-x8-debutant-3-portenta-x8-docker-hello-world.svg — Arduino Portenta X8 en coupe stylisée : le noyau Linux en bas, des boîtes conteneur Docker empilées au-dessus (python, node, hello-world), terminal adb affichant docker run hello-world et le message de bienvenue, étiquette Yocto LMP Foundries.io

Objetivos

El verdadero superpoder de la X8: su Linux embebido (Linux microPlatform, distribución Yocto de Foundries.io) incluye Docker preinstalado. Las aplicaciones se ejecutan en contenedores desacoplados del SO — despliegue modular, OTA incremental, imágenes listas para usar en Docker Hub arduino. Vas a lanzar tu primer contenedor, entender la historia de los permisos de docker y extraer una imagen oficial de Arduino.

Material

Código completo

# Depuis le PC :
adb shell
# fio@portenta-x8:~$

# Permission docker : la doc officielle recommande d'abord :
newgrp - docker

# Le test canonique, fonctionne out of the box :
docker run hello-world
# -> "Hello from Docker! This message shows that your installation...

# Images officielles Arduino sur Docker Hub (org « arduino ») :
docker pull arduino/python-rpc-serial

# Lancer le conteneur officiel du tuto python-arduino-data-exchange :
docker run -d \
  --name python-rpc-serial \
  --restart unless-stopped \
  -e PYTHONUNBUFFERED=1 \
  --tty \
  --read-only \
  -p 5002-5020:5002-5020 \
  -v /tmp:/tmp \
  --device /dev/ttyGS0 \
  arduino/python-rpc-serial

# Inventaire local
docker images
docker ps -a

Verificación esperada

docker run hello-world muestra el mensaje de bienvenida en unos segundos (incluida la descarga) — prueba de que el demonio Docker, el almacenamiento en la eMMC y la red funcionan. El contenedor arduino/python-rpc-serial se inicia en segundo plano (docker ps lo lista como « Up »): expone los puertos RPC 5002-5020 y el dispositivo serie /dev/ttyGS0, la puerta de enlace hacia el sketch M4 del siguiente tutorial.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales