Un utilisateur de ZimaOS souhaitait qu’un conteneur Docker possède sa propre adresse sur le même réseau local que le serveur. IceWhale a expliqué que le réseau bridge par défaut fournit déjà au conteneur une adresse interne, tandis qu’une adresse visible sur le réseau local nécessite généralement macvlan.
Le long exemple de commande publié par la communauté n’a jamais été confirmé comme fonctionnel par son auteur d’origine. Des réponses ultérieures ont relevé la présence de guillemets typographiques et d’options précédées d’un seul tiret, tandis qu’un autre utilisateur ne parvenait toujours pas à connecter l’application installée. Cette page explique donc l’architecture et la méthode sûre, sans présenter ce bloc de commandes non vérifié comme une procédure ZimaOS.
L’adresse IP du bridge et l’adresse IP du réseau local répondent à des objectifs différents
| Mode | Identité du conteneur | Accès habituel |
|---|---|---|
| Bridge par défaut | Adresse Docker privée | Utiliser l’adresse de l’hôte ZimaOS avec un port publié |
| Hôte | Partage l’espace de noms réseau de l’hôte | Aucune adresse distincte pour le conteneur |
| Macvlan | Identité de couche 2 et adresse sur le réseau local propres | Les autres appareils du réseau local peuvent le contacter directement |
La plupart des applications n’ont pas besoin d’une adresse IP distincte sur le réseau local. La publication de ports sur l’hôte ZimaOS est plus simple et évite les exigences supplémentaires de couche 2.
Planifier macvlan avant de le créer
- Identifiez l’interface parente réellement utilisée pour le trafic du réseau local.
- Notez le sous-réseau et la passerelle.
- Réservez une adresse en dehors de la plage DHCP du routeur ou créez une plage gérée qui ne se chevauche pas.
- Vérifiez que le commutateur, le pont Wi-Fi, l’hyperviseur ou la carte réseau USB autorise plusieurs adresses MAC.
- Sauvegardez la définition Compose de l’application et confirmez que vous disposez d’un accès à la console locale.
La documentation officielle de Docker sur macvlan avertit que les conteneurs macvlan ne peuvent pas communiquer directement avec l’hôte par défaut, en raison d’une restriction du noyau Linux.
S’attendre à une isolation entre l’hôte et le conteneur
D’autres appareils du réseau local peuvent atteindre le conteneur alors que ZimaOS lui-même ne le peut pas. Cela peut perturber les reverse proxies, les vérifications d’état, les services de stockage ou les applications qui doivent contacter le conteneur depuis l’hôte. Docker documente deux options avancées : connecter le conteneur à un réseau bridge supplémentaire ou créer sur l’hôte une interface macvlan correspondante.
Pourquoi les commandes copiées n’étaient pas fiables
La publication de la communauté utilisait des guillemets typographiques et des tirets cadratins à la place de guillemets ASCII et d’options précédées de deux tirets. La copie depuis Windows a conservé ces caractères, ce qui a provoqué des problèmes d’analyse par le shell et Docker. Un participant a ensuite corrigé ces erreurs, mais ne parvenait toujours pas à démarrer une application ZimaOS déjà installée sur le nouveau réseau.
Les commandes contenaient également des données réseau codées en dur et supposaient une interface parente précise. Les exécuter sur le mauvais sous-réseau peut provoquer des conflits d’adresses ou interrompre l’accès. Pour cette raison, utilisez les exemples actuels de Docker et adaptez-les uniquement après avoir validé chaque valeur.
Macvlan obtient-il automatiquement une adresse DHCP ?
Le fonctionnement macvlan intégré à Docker utilise normalement la gestion des adresses IP de Docker, et non un bail demandé au routeur par chaque conteneur. Définissez un sous-réseau et une plage d’adresses sûrs, puis attribuez les adresses ou laissez Docker les allouer dans cette plage. Ne chevauchez pas la plage DHCP du routeur, sauf si celui-ci réserve ces adresses.
Limites de l’interface ZimaOS dans le fil source
L’auteur d’origine n’a pas trouvé d’option graphique fonctionnelle permettant de connecter une application installée à macvlan, et un autre utilisateur a proposé d’en faire une demande de fonctionnalité. Exporter, modifier puis réimporter Compose peut créer une pile gérée séparément ; les mises à niveau et les commandes de l’App Store peuvent alors ne plus fonctionner comme avec le modèle d’origine.
FAQ sur les adresses IP des conteneurs ZimaOS
Un conteneur bridge possède-t-il déjà sa propre adresse IP ?
Oui, mais il s’agit normalement d’une adresse Docker interne plutôt que d’une véritable adresse sur le réseau local.
ZimaOS peut-il contacter directement un conteneur macvlan ?
Pas par défaut. Docker documente l’isolation de l’hôte comme une restriction du noyau.
Dois-je copier les commandes du fil source ?
Non. Elles contenaient des erreurs de caractères typographiques et n’ont pas été confirmées comme une procédure fonctionnelle pour une application ZimaOS.
