Skip to main content

Conteneur dans le même réseau que l'hôte

1. Création du réseau

docker network create -d macvlan \
  --subnet=192.168.1.0/24 \
  --gateway=192.168.1.1 \
  -o parent=eth0 \
  network_name

2. Vérifier la création du réseau

docker network ls

3. Inspecté les paramètres du réseau

docker network inspect network_name

4. Définir le réseau dans docker-compose.yml, voici un exemple pour attacher des conteneurs au réseau network_name

services:
  mon_service:
    image: nginx
    container_name: mon_conteneur
    networks:
      macvlan_network:
        ipv4_address: 192.168.1.100 # Change selon ton réseau
    restart: unless-stopped

networks:
  macvlan_network:
    external: true

Avantages :

  • Chaque conteneur possède une IP propre sur le réseau.
  • Pas de conflit de ports avec l’hôte.
  • Isolation réseau meilleure que host.

Inconvénients :

  • L’hôte ne peut pas communiquer directement avec les conteneurs sur macvlan (solution : ajouter une interface virtuelle sur l’hôte).
  • Nécessite une configuration adaptée au réseau de l’entreprise.