Pour définir de manière automatique la configuration d'un réseau depuis un fichier compose, il suffira simplement d'indiquer dans ce fichier un réseau qui n'existe pas pour l'instant et que l'on souhaite créer.
A la création du conteneur, Docker va se charger de créer le réseau avec le nom indiqué dans le fichier compose et de fournir au conteneur une adresse IP de ce réseau.
La configuration du DNS sera aussi autimatique car celui qui sera utilisé sera celui de Docker.
Prenons comme exemple la création d'un conteneur qui utilise le service Uptime-Kuma :
version: "3.9"
services:
demo-uptime-kuma:
image: louislam/uptime-kuma:latest
deploy:
resources:
limits:
memory: 250M
container_name: demo-uptime-kuma
restart: on-failure
volumes:
- ./uptime-data:/app/data
# Affectation du conteneur à un réseau
networks:
- demo
volumes:
uptime-data:
# Declaration du réseau qui sera créé dans Docker et utilisé par le conteneur
networks:
demo:
name: demo
Dans cet exemple, puisque le réseau "demo" n'existe pas, Docker va le créer et le configurer automatiquement.
On peut vérifier la configuration :