🛠 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

Objectifs

Le vrai superpouvoir de la X8 : son Linux embarqué (Linux microPlatform, distribution Yocto de Foundries.io) livre Docker préinstallé. Les applications tournent en conteneurs découplés de l'OS — déploiement modulaire, OTA incrémental, images prêtes à l'emploi sur le Docker Hub arduino. Tu vas lancer ton premier conteneur, comprendre l'histoire des permissions docker, et tirer une image officielle Arduino.

Matériel

Code complet

# 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

Vérification attendue

docker run hello-world affiche le message de bienvenue en quelques secondes (téléchargement inclus) — preuve que le démon Docker, le stockage sur l'eMMC et le réseau fonctionnent. Le conteneur arduino/python-rpc-serial démarre en arrière-plan (docker ps le liste « Up ») : il expose les ports RPC 5002-5020 et le périphérique série /dev/ttyGS0, la passerelle vers le sketch M4 du tuto suivant.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels