DDEV - Configuration pour utiliser mariadb de l’hôte

, par Christophe

Configuration pour utiliser mariadb de l’hôte

1. Configuration de DDEV

Il faut ajouter un fichier à la racine de son sous dossier .ddev (de son projet) : docker-compose.override.yaml

services:
  db:
    extra_hosts:
      - "host.docker.internal:host-gateway"
    environment:
      - MYSQL_HOST=host.docker.internal

Apres avoir redémarré ddev, si vous vous connectez dans le conteneur db, vous pourrez voir que la commande suivante fonctionne ping host.docker.internal Pour ce

2. Configuration de mysql de l’hôte.

Il faut modifier votre instance de mysql/mariadb pour qu’elle écoute toutes les ip et pas seulement localhost. Pour cela il faut changer dans la conf de mariadb my.cnf la ligne : bind-address = localhost par bind-address = 0.0.0.0 En terme de sécu, c’est un peu moins bien ;-)

3. User mysql pour le spip

Il faut que votre user mysql est comme nom d’hôte % et non localhost

4. Configuration du spip

Il faut changer dans le fichier connect.php :

  • le nom d’host devient host.docker.internal
  • le port 3306 (inchangé)
  • user -> celui défini dans l’étape 3