De volgende docker compose bestand zal Drupal opstarten verbonden met een andere container met 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
Merk op dat de drupal-container docker-links gebruikt . Hiermee wordt een /etc/hosts-item gemaakt met de naam "mysql". Gebruik dit in plaats van "localhost" bij het uitvoeren van de installatieschermen van drupal.
Opmerking
De syntaxis van het samenstellen van het docker-bestand is gewijzigd sinds dit antwoord oorspronkelijk werd opgesteld.
Hier is de bijgewerkte syntaxis
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