Un utente di ZimaOS voleva che un container Docker avesse un proprio indirizzo sulla stessa LAN del server. IceWhale ha spiegato che il bridge predefinito assegna già al container un indirizzo interno, mentre per ottenere generalmente un indirizzo visibile sulla LAN è necessario usare macvlan.
Il lungo esempio di comando della community non è mai stato confermato come funzionante dall'autore del post originale. In seguito, alcune risposte hanno rilevato virgolette tipografiche copiate e opzioni con un solo trattino, mentre un altro utente non riusciva ancora a collegare l'app installata. Questa pagina spiega quindi l'architettura e un piano sicuro senza presentare quel blocco di comandi non verificato come procedura per ZimaOS.
L'IP del bridge e l'IP della LAN sono obiettivi diversi
| Modalità | Identità del container | Accesso tipico |
|---|---|---|
| Bridge predefinito | Indirizzo Docker privato | Usa l'indirizzo dell'host ZimaOS insieme a una porta pubblicata |
| Host | Condivide lo spazio dei nomi di rete dell'host | Nessun indirizzo separato per il container |
| Macvlan | Identità Layer 2 e indirizzo LAN propri | Gli altri dispositivi della LAN possono contattarlo direttamente |
La maggior parte delle applicazioni non necessita di un IP LAN separato. Le porte pubblicate sull'host ZimaOS sono più semplici ed evitano requisiti Layer 2 aggiuntivi.
Pianifica macvlan prima di crearlo
- Individua l'interfaccia parent effettivamente utilizzata per il traffico LAN.
- Annota la subnet e il gateway.
- Riserva un indirizzo al di fuori del pool DHCP del router oppure crea un intervallo gestito non sovrapposto.
- Verifica che lo switch, il bridge Wi-Fi, l'hypervisor o la scheda di rete USB consentano più indirizzi MAC.
- Esegui il backup della definizione Compose dell'app e assicurati di poter accedere alla console locale.
La documentazione ufficiale di macvlan di Docker avverte che, per impostazione predefinita, i container macvlan non possono comunicare direttamente con l'host a causa di una limitazione del kernel Linux.
Prevedi l'isolamento tra host e container
Gli altri dispositivi della LAN potrebbero raggiungere il container mentre ZimaOS non può farlo. Questo può interrompere proxy inversi, controlli di integrità, servizi di archiviazione o applicazioni che devono contattare il container dall'host. Docker documenta due opzioni avanzate: collegare il container a un'ulteriore rete bridge oppure creare sull'host un'interfaccia macvlan corrispondente.
Perché i comandi copiati erano inaffidabili
Il post della community utilizzava virgolette tipografiche e trattini en al posto delle virgolette ASCII e delle opzioni con doppio trattino. La copia da Windows ha mantenuto quei caratteri, causando problemi nell'interpretazione della shell e di Docker. Un partecipante successivo ha corretto questi aspetti, ma non è comunque riuscito ad avviare un'app ZimaOS già installata sulla nuova rete.
I comandi inoltre contenevano dati di rete preimpostati e presupponevano una determinata interfaccia parent. Eseguirli sulla subnet sbagliata può causare conflitti di indirizzi o interrompere l'accesso. Per questo motivo, usa gli esempi aggiornati di Docker e adattali solo dopo aver verificato ogni valore.
Macvlan ottiene automaticamente un indirizzo DHCP?
Il flusso di lavoro macvlan integrato in Docker utilizza normalmente la gestione degli indirizzi IP di Docker, non un lease richiesto al router da ogni container. Definisci una subnet e un intervallo di indirizzi sicuri, quindi assegna gli indirizzi oppure lascia che Docker li assegni all'interno di tale intervallo. Non sovrapporre l'intervallo al pool DHCP del router, a meno che il router non abbia riservato quegli indirizzi.
Limiti dell'interfaccia di ZimaOS nella discussione originale
L'autore del post originale non ha trovato un'opzione grafica funzionante per collegare un'app installata a macvlan, e un altro utente l'ha proposta come richiesta di funzionalità. L'esportazione, la modifica e la reimportazione di Compose possono creare uno stack gestito separatamente; gli aggiornamenti e i controlli dell'App Store potrebbero non comportarsi più come nel modello originale.
Domande frequenti sull'IP dei container ZimaOS
Un container bridge ha già un proprio IP?
Sì, ma normalmente è un indirizzo Docker interno e non un vero indirizzo LAN.
ZimaOS può raggiungere direttamente un container macvlan?
Non per impostazione predefinita. Docker documenta l'isolamento dell'host come una limitazione del kernel.
Devo copiare i comandi dalla discussione originale?
No. Contenevano errori nei caratteri tipografici e non erano stati confermati come flusso di lavoro riuscito per un'app ZimaOS.
