Mysql
 sql >> Base de données >  >> RDS >> Mysql

Docker :le conteneur Drupal lié au conteneur mysql ne peut pas se connecter à mysql lors de l'installation de Drupal

Le docker compose suivant le fichier démarrera Drupal connecté à un autre conteneur exécutant Mysql

db:
  image: mysql
  environment:
    - MYSQL_ROOT_PASSWORD=letmein
    - MYSQL_DATABASE=drupal
    - MYSQL_USER=drupal
    - MYSQL_PASSWORD=drupal
  volumes:
    - /var/lib/mysql
web:
  image: drupal
  links:
    - db:mysql
  ports:
    - "8080:80"
  volumes:
    - /var/www/html/sites
    - /var/www/private

Notez que le conteneur Drupal utilise des liens docker . Cela créera une entrée /etc/hosts appelée "mysql". Utilisez ceci au lieu de "localhost" lors de l'exécution des écrans d'installation de Drupal.

Remarque

La syntaxe du fichier docker compose a changé depuis que cette réponse a été rédigée à l'origine.

Voici la syntaxe mise à jour

version: '2'
services:
  mysql:
    image: mysql
    environment:
      - MYSQL_ROOT_PASSWORD=letmein
      - MYSQL_DATABASE=drupal
      - MYSQL_USER=drupal
      - MYSQL_PASSWORD=drupal
    volumes:
      - /var/lib/mysql
  web:
    image: drupal
    depends_on:
      - mysql
    ports:
      - "8080:80"
    volumes:
      - /var/www/html/sites
      - /var/www/private