O seguinte composição docker arquivo iniciará o Drupal conectado a outro contêiner executando o 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
Observe que o contêiner drupal usa links docker . Isso criará uma entrada /etc/hosts chamada "mysql". Use isso em vez de "localhost" ao executar as telas de instalação do drupal.
Observação
A sintaxe do arquivo de composição do docker foi alterada desde que esta resposta foi originalmente elaborada.
Aqui está a sintaxe atualizada
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