Partage
  • Partager sur Facebook
  • Partager sur Twitter

Attribution d'adresse IP à une conteneur Docker

Un conteneur debian pour être plus précis

    1 août 2022 à 16:07:34

    Bonjour ! Merci d'avoir pris le temps de vous arrêter sur mon problème !

    Comme le titre l'indique, je veux créer un conteneur avec une adresse IP fixe. Je veux qu'à chaque fois qu'on exécute son image l'adresse IP que j'ai défini lui soit associé 

    Pour cela, j'ai utilisé plusieurs méthodes :

    La première est de passer par Docker network. Je crée un réseau et associe un conteneur debian à ce dernier. À partir de ce conteneur modifié, je fais un commit pour avoir une nouvelle image avec ces modifications d'adresses IP. Mais le problème est que ceci n'est pas persistant. Je ne sais pas pourquoi mais il semblerait que seules les modifications faites à l'intérieur du conteneur sont sauvegardées avec un  commit. Pas celles faites à l'extérieure telle que commande docker permettant l'attribution d'une adresse IP à un conteneur. 

    La seconde méthode est celle qui m'intéresse. J'ai crée un Dockerfile et un docker-compose.yml pour cela.

    L'arborescence des fichiers est la suivante : 

    ./terminal/Dockerfile

    ./docker-compose.yml

    Le contenu du Dockerfile est le suivant :

    #terminal
    FROM debian:latest
    
    RUN mkdir -p /home/codeTerminal #RUN exécute la commande dans le container
    
    RUN apt-get update
    
    RUN apt-get install -y apt-utils
    RUN apt-get install -y iproute2 #voir adresse IP
    RUN apt-get -y install iputils-ping #tester ping
     
    RUN apt-get -y install  nmap 
    RUN apt-get -y install  ncat
    

    Il se trouve dans le dossier terminal. Il permet de créer une image de debian avec des packages en plus.

    Voici le contenu de docker-compose.yml :

    version: '3'
    
    
    services:
      terminal:
        build:
          context: ./terminal
        networks:
          my_network:
            ipv4_address: 192.168.1.1
    
    
    
    networks:
      my_network: 
        driver: bridge
        ipam:
          driver: default
          config:
            - subnet: 192.168.1.0/24
              gateway: 192.168.1.254 

    Comme vous pouvez le voir, j'ai crée un réseau d'adresse 192.168.1.0/24 et ait assigné une adresse de ce dernier au service du nom de "terminal".

    Lorsque, dans le dossier courant, je fais la commande : docker-compose -f docker-compose.yml build

    Tout se passe correctement. Je n'ai pas un seul message d'erreur. Pas même un Warning.

    Pourtant, lorsque j'exécute l'image nouvellement crée et que je fais un docker inspect sur le conteneur qui en découle, je ne trouve nulle part l'image que j'ai assigné. Et lorsque je rentre dedans et fait un ip a, l'adresse IP que je veux n'y est pas non plus 

    Quelqu'un a une idée.

    Merci à tout ceux qui ont pris la peine de lire jusque là !

    -
    Edité par KuroWhite 1 août 2022 à 16:13:06

    • Partager sur Facebook
    • Partager sur Twitter
      11 août 2022 à 10:37:15

      Bonjour,

      Déplacement vers un forum plus approprié

      Le sujet est déplacé de la section Discussions développement vers la section Vos réseaux

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL

      Attribution d'adresse IP à une conteneur Docker

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown