Dopo un'attenta ricerca, test e manipolazione, sono stato in grado di trovare solo il collegamento di un contenitore Docker a una determinata interfaccia inoltrando da un IP /porta. Questo può essere ottenuto aggiungendo -p Host-IP:Host-Port:Container-Port
a un comando docker run
.Connessione di un contenitore Docker a un'interfaccia/dispositivo di rete invece di un indirizzo IP
Ho un'app che ascolta le trasmissioni UDP (255.255.255.255) e non sono stato in grado di configurare l'inoltro in modo tale che il mio contenitore riceva tali trasmissioni senza inoltrare tutto il traffico di rete sulla porta a cui tengo (no importa attraverso quale interfaccia entra), ovvero: -p Host-Port:Container-Port
.
È possibile configurare il contenitore con --net=host
e basta scrivere il mio codice per collegarlo a una determinata interfaccia, cosa che ho fatto e testato, ma che comunque va contro l'idea principale di un contenitore. L'obiettivo è di avere più contenitori della stessa app in ascolto su diverse interfacce di rete (come nei dispositivi, non negli indirizzi).
Qualche idea su come potrei fare questo?
EDIT # 1: Dopo aver riflettuto su questo un po 'di più, può essere possibile che la creazione del ponte sul interfaccia desiderata è sufficiente, ma non mi fido del sistema operativo per inviare i pacchetti broadcast su di esso. Resta sintonizzato mentre eseguo altri test.
EDIT # 2: I pacchetti vengono inviati su un ponte bene. Tuttavia, il bridge è configurato come il bridge predefinito Docker. Non sono stato in grado di capire come eseguire i contenitori su diversi ponti. Ho visto alcune note che puntano ad impostare la rete su --net=none
e configurarla tu stesso attraverso le impostazioni del contenitore lxc.
perché è il ponte non è abbastanza buono finestra mobile? –
Non sono stato in grado di configurare il docker bridge in modo da poter specificare a quale interfaccia di rete collegarsi. Il che significa che non posso avere contenitori separati per interfaccia di rete. – tryexceptpass
puoi pubblicare la tua soluzione? Ho bisogno di qualcosa di simile per eseguire un'istanza DHCP all'interno di un contenitore mobile –