• Docker
  • [Résolu][Docker] Problème connexion MariaDB et Adminer

Bonjour à tous, étant novice sur Docker, je commence à m'y intéresser.. malheureusement je rencontre un problème connu mais dont je ne trouve aucun réponse clair.

L'erreur affichée sur l'interface Adminer lors de la connexion :

SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name does not resolve

Voici mon docker-compose :

version: '3.5'
services:
    web:
      image: nginx:alpine
      restart: unless-stopped
      ports:
         - "80:80"
         - "443:443"
      volumes:
         - /home/whisper40/nginxdockeralpine/files/:/usr/share/nginx/html/
      networks:
       - nginxnetwork
    php:
      image: php:fpm
      restart: unless-stopped
      volumes:
         - /home/whisper40/nginxdockeralpine/files/:/usr/share/nginx/html/
      networks:
       - nginxnetwork
    db:
      image: mariadb
      restart: unless-stopped
      volumes:
         - /home/whisper40/nginxdockeralpine/bdd/:/var/lib/mysql/
      environment:
        MYSQL_ROOT_PASSWORD: mdp
        MYSQL_USER: adminer
        MYSQL_PASSWORD: adminer
        MYSQL_DATABASE: adminer
      networks:
       - nginxnetwork
    adminer:
      image: adminer
      restart: unless-stopped
      environment:
       ADMINER_DEFAULT_DB_DRIVER: mysql
       ADMINER_DEFAULT_DB_HOST: mariadb
       ADMINER_DEFAULT_DB_NAME: adminer
      ports:
       - 8080:8080
networks:
    nginxnetwork:
      driver: bridge

Merci aux connaisseurs 🙂

Salut, je n'y connais pas plus que toi en docker mais il ne manquerait pas un petit

depends_on:
- db
Au niveau de adminer ? (il faudra refaire docker-compose et tout le tralala).

Genre comme ça :

    adminer:
      image: adminer
      restart: unless-stopped
      depends_on:
      - db
      environment:
       ADMINER_DEFAULT_DB_DRIVER: mysql
       ADMINER_DEFAULT_DB_HOST: mariadb
       ADMINER_DEFAULT_DB_NAME: adminer
      ports:
       - 8080:8080

    qo_op Alors je ne pense pas ( de plus il est indiqué dans le doc officielle que les depends_on vont disparaitre très prochainement , c'est pour cela que je ne les utilise pas 🙂

    Après petite question surement stupide mais .. une fois les conteneurs lancés, tu arrives à pinguer db ? 🙂

    Si tu fais "ping db" ça répond quelque chose ou KO ?

    Bonjour,

    Je te propose d'essayer ce docker-compose

    version: '3.5'
    
    networks:
        nginxnetwork:
          driver: bridge
        mariadb_network:
          external: false
    
    services:
      web:
        image: nginx:alpine
        restart: unless-stopped
        ports:
          - "80:80"
          - "443:443"
        volumes:
          - /home/whisper40/nginxdockeralpine/files:/usr/share/nginx/html/
        networks:
          - nginxnetwork
    
      php:
        image: php:fpm
        restart: unless-stopped
        volumes:
          - /home/whisper40/nginxdockeralpine/files/:/usr/share/nginx/html/
        networks:
          - nginxnetwork
    
      db:
        image: mariadb
        restart: unless-stopped
        volumes:
          - /home/whisper40/nginxdockeralpine/bdd/:/var/lib/mysql/
        environment:
          - MYSQL_ROOT_PASSWORD=mdp
          - MYSQL_USER=adminer
          - MYSQL_PASSWORD=adminer
          - MYSQL_DATABASE=adminer
        networks:
          - mariadb_network
    
      adminer:
        image: adminer
        restart: unless-stopped
        environment:
          - ADMINER_DEFAULT_DB_DRIVER=mysql
          - ADMINER_DEFAULT_DB_HOST=mariadb
          - ADMINER_DEFAULT_DB_NAME=adminer
        ports:
          - 8080:8080
        depends_on:
          - db
        networks:
          - mariadb_network
          - nginxnetwork
    

    ca donne ca à la connexion

    @qo_op Un ping vers db ou web retourne pas de succès.
    @laster13 Il semblerait qu'il y ait du mieux, mais je n'arrive tout de même pas à me connecter avec
    "adminer"->"adminer"->"adminer"
    ou
    "root"->"mdp"->"adminer"
    ou
    "root->"mdp"->""

    http://prntscr.com/o38l30
    Le problème la aussi c'est que tu utilise depends_on alors qu'il va disparaitre 😅
    (sa me semble logique de devoir l'utiliser vu que l'un dépend de l'autre mais vu qu'il va disparaitre..)

      Whisper40 Il semblerait qu'il y ait du mieux, mais je n'arrive tout de même pas à me connecter avec
      "adminer"->"adminer"->"adminer"

      Etonnant, j'ai exactement utilisé ce compose, avec "adminer"->"adminer"->"adminer" et ca fonctionne. Quand à depend_on, en attendant l'option de remplacement, il faut bien lié adminer avec mariadb et en attendant mieux tu n'as pas le choix.

      Edit: Efface le volume mariadb créé precedement avec ton ancien compose
      /home/whisper40/nginxdockeralpine/bdd
      et reteste

        laster13 Oui je comprends je trouve tout de même bizarre qu'ils ne parlent pas du prochain nom 🙂 .

        C'était bien les anciens fichiers le problème 🙂 Merci bien 🙂

        Whisper40 a renommé le titre en [Résolu][Docker] Problème connexion MariaDB et Adminer.
        Répondre…