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 ?