IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Docker Discussion :

PB connexion à Mysql


Sujet :

Docker

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    690
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2005
    Messages : 690
    Points : 1 647
    Points
    1 647
    Par défaut PB connexion à Mysql
    Bonjour,

    J'essaye de créer un environnement de développement avec Apache/PHP/MariadbPHPMyAdmin et je n'arrive pas à me connecter à Mariadb :

    Voici mon fichier docker-compose.yml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    version: '3'
    
    services:
      web:
        image: php7.4-apache:projet
        container_name: projet-php-apache
        ports:
          # local:container
          - "1337:80"
        environment: 
          - APACHE_DOCUMENT_ROOT=/var/www/html
          - COMPOSER_ALLOW_SUPERUSER=1
        volumes:
          # Volume stockant les fichiers web du projet
          - ./:/var/www/html
        build:
          context: .
          dockerfile: Dockerfile
        depends_on:
          - db
        links:
          # Lien vers le conteneur "db" (déclaré ci-après)
          - db:db
    
      pma:
        image: phpmyadmin
        container_name: projet-phpmyadmin
        environment:
          # https://docs.phpmyadmin.net/en/latest/setup.html#docker-environment-variables
          PMA_HOST: db
          PMA_PORT: 3306
          UPLOAD_LIMIT: 1024M
        ports:
          - "8080:80"
        links:
          - db:db
    
      db:
        image: mariadb:latest
        container_name: projet-mysql
        ports:
          - "3306:3306"
        volumes:
          # Volume de la base de données
          - ./db-data:/var/lib/mysql
        environment:
          MYSQL_DATABASE: wordpress
          MYSQL_ROOT_PASSWORD: toto
          #MYSQL_RANDOM_ROOT_PASSWORD: "yes"
          # MARIADB_RANDOM_ROOT_PASSWORD: "yes"
    Mon fichier docker-vhost.conf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <VirtualHost *:80>
      ServerName localhost
      ServerAdmin webmaster@localhost
      # Astuce permettant de lier n'importe quelle IP locale (ex : 127.0.0.1, 172.25.0.1 à ce vhost)
      # Pour que browsersync/webpack puissent fonctionner en proxy depuis l'hôte et qu'Apache y réponde
      ServerAlias *
      # Dossier racine web (à adapter selon les besoins, ajouter /public pour WordPlate)
      DocumentRoot /var/www/html/app
      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combined
      <Directory "/var/www/html/app">
        # Permet l'usage de htaccess
        AllowOverride All
      </Directory>
    </VirtualHost>
    Mon fichier Dockerfile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    # PHP
    FROM php:7.4-apache
    
    # Modules apache
    RUN a2enmod headers deflate expires rewrite
    EXPOSE 80
    
    # Composer
    ENV COMPOSER_ALLOW_SUPERUSER=1
    RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
    # RUN composer --version
    
    # Paquets nécessaires à l'installation de WordPress/WordPlate + utiles
    RUN apt-get update && apt-get install -y zip unzip vim
    
    # Extensions MySQL pour PHP/WordPress
    RUN docker-php-ext-install mysqli pdo pdo_mysql
    
    # Imagick pour WordPress (https://webapplicationconsultant.com/docker/how-to-install-imagick-in-php-docker/)
    RUN apt-get install -y libmagickwand-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
    RUN printf "\n" | pecl install imagick
    RUN docker-php-ext-enable imagick
    
    # Virtualhost
    COPY Docker-vhost.conf /etc/apache2/sites-enabled/docker-vhost-wp.conf
    
    # Redémarrage de Apache pour tenir compte des modifications + modules installés
    RUN service apache2 restart
    
    # Dossier de travail
    WORKDIR /var/www/html/app
    Je lance mon conteneur avec Dans mon navigateur je vais à http://localhost:1337
    J'arrive sur la page de Wordpress (donc Apache et PHP fonctionnent) je saisis les infos de connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Nom de la base : wordpress
    Identifiant : root
    Mot de passe : toto
    Adresse de la base de données : db
    Préfixe des tables : wp_
    Et il ne veut pas se connecter.
    En regardant dans les logs je vois ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    projet-mysql       | 2022-10-13 14:00:25 4 [Warning] Access denied for user 'root'@'172.19.0.3' (using password: YES)
    J'ouvre un nouveau terminal, et j'essaye ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docker exec -it projet-mysql mysql -uroot -p
    Même problème...


    C'est surement pas grand chose mais je suis débutant avec Docker...
    Est-ce que quelqu'un voit d'où vient le problème svp ?

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    690
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2005
    Messages : 690
    Points : 1 647
    Points
    1 647
    Par défaut
    Si j'essaye de juste lancer un container mysql tout seul, impossible non plus de m'y connecter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docker run --name mysqlserver -p 3306:3306 -v $PWD/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=toto mysql/mysql-server
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    seb@seb-X556UQK:~/dev/testdock2$ docker ps
    CONTAINER ID   IMAGE                COMMAND                  CREATED              STATUS                        PORTS                                     NAMES
    c88584813b85   mysql/mysql-server   "/entrypoint.sh mysq…"   About a minute ago   Up About a minute (healthy)   0.0.0.0:3306->3306/tcp, 33060-33061/tcp   mysqlserver
    seb@seb-X556UQK:~/dev/testdock2$ 
    seb@seb-X556UQK:~/dev/testdock2$ docker exec -it c88 /bin/bash
    bash-4.4# mysql -u root -p
    Enter password: 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    bash-4.4#

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 453
    Points : 43 118
    Points
    43 118
    Par défaut
    Par défaut, MySQL/MariaDB n'autorise la connexion qu'en localhost. Si tu crée un conteneur autonome, il faudra changer ses réglages.
    Et par défaut si tu es root, tu peux te connecter sans mot de passe de mémoire, ce qu'il faut modifier.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    690
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2005
    Messages : 690
    Points : 1 647
    Points
    1 647
    Par défaut
    Hello Christophe, merci pour ta réponse,

    Maintenant ca marche, pourtant j'ai rien modifié...j'y comprend rien...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JSP] erreur lors d'une connexion à mySQL
    Par Jovial dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 31/08/2004, 16h48
  2. Erreur connexion mysql
    Par bodbod dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/07/2004, 09h28
  3. Connexion mysql
    Par olive.m dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 18/06/2004, 17h44
  4. [Connexion MySQL] Can't connect to MySQL server
    Par mat_dum dans le forum Outils
    Réponses: 12
    Dernier message: 17/07/2003, 07h49
  5. [Kylix] [cgi] pb déploiement appli avec connexion MySQL [rés
    Par Nepomiachty Olivier dans le forum EDI
    Réponses: 3
    Dernier message: 06/08/2002, 20h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo