Lo scenario è particolarmente semplice, ma comunque interessante. Stiamo preparando il nostro file docker-compose.yml che si occuperà di istanziare il container partendo dall’immagine che abbiamo costruito e vogliamo che il container si colleghi ad una rete esistente.
Collegamento ad una rete Docker esistente
La soluzione al problema è particolarmente semplice. È infatti sufficiente preparare il nostro docker-compose.yml nel seguente modo:
services:
my-service:
# ...
networks:
bushido-network:
ipv4_address: 172.28.0.20
ports:
- "8080:5000"
networks:
bushido-network:
name: bushido-network
external: true
Come si nota dal file docker-compose.yml la configurazione è piuttosto semplice. Infatti, nella sezione networks definiamo la rete come external, mentre nella sezione services (se voluto) la utilizziamo assegnandogli staticamente un IP.
Nel caso si voglia che il container si veda assegnato dinamicamente un IP è sufficiente rimuovere la sezione networks dal servizio. Il file docker-compose.yml si presenterà quindi così:
services:
my-service:
# ...
ports:
- "8080:5000"
networks:
bushido-network:
name: bushido-network
external: true