Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Docker:Drupal-Container, der mit MySQL-Container verknüpft ist, kann während der Drupal-Installation keine Verbindung zu MySQL herstellen

Das folgende docker compose Datei startet Drupal, das mit einem anderen Container verbunden ist, auf dem Mysql läuft

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

Beachten Sie, dass der Drupal-Container Docker-Links verwendet . Dadurch wird ein /etc/hosts-Eintrag mit dem Namen "mysql" erstellt. Verwenden Sie dies anstelle von "localhost", wenn Sie die Drupal-Installationsbildschirme ausführen.

Hinweis

Die Syntax der Docker-Compose-Datei hat sich geändert, seit diese Antwort ursprünglich entworfen wurde.

Hier ist die aktualisierte Syntax

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