Public Repository

Last pushed: 2 years ago
Short Description
The ultimate environment for professional Drupal development.
Full Description

Provides an extensive set of tools for assisting with Drupal development. Includes a web-based IDE, compilers, debuggers, testing tools, code syntax, spelling and lint checkers, profiling and performance analyzers.


$ cd /path/to/project/directory
$ mkdir drupal-development
$ cd drupal-development
$ mkdir html mysql
$ docker run -d --name=dd -v html:/var/www -v mysql:/var/lib/mysql -p 80:80 -p 8000:8000 -p 8181:8181 -p 10000:10000 mobilestrategies/drupal-development:latest


Usage (example)

docker@boot2docker:~$ docker exec -itu docker dd /bin/bash
docker@011ee8bdb44b:/var/www$ sudo chown docker ../www/ (password is docker)
docker@011ee8bdb44b:/var/www$ drush dl drupal
docker@011ee8bdb44b:/var/www$ cp -r drupal-8.0.1/. . (your Drupal version may differ)
docker@011ee8bdb44b:/var/www$ rm -rf drupal-8.0.1/
docker@011ee8bdb44b:/var/www$ cp sites/default/default.settings.php sites/default/settings.php
docker@011ee8bdb44b:/var/www$ sudo chown -R :www-data ../www/
docker@011ee8bdb44b:/var/www$ sudo chmod -R g+w ../www/
Visit to finish installation (your ip address may differ)



Your ip address may differ - Drupal site, if installed - phpMyAdmin - Cloud9 IDE - Webmin


Drupal admin: Username: admin, Password: admin
SSH username: docker, password: docker
MySQL username: root, password: root
phpMyAdmin login: Username: root, Password: root
Webmin login: Username: docker, Password: docker


System specifications

Ubuntu 14.04.3 LTS
MySQL 5.5.46
Nginx 1.4.6
PHP 5.5.9
Redis 2.8.4


Summary of tools

  • cloud9 - Cloud9 web-based IDE
  • codespell - Spell checker
  • compass - Stylesheet Authoring Framework
  • composer - PHP dependency manager
  • ctags - Generate tag files for source code
  • dos2unix - Convert CRLF to LF
  • drupal - Drupal Console
  • drupalcbf - Drupal code beautifier
  • drupalcs - Drupal code sniffer
  • drush - Drupal shell
  • gcc - GNU C compiler
  • git - Distributed version control
  • git-flow - Git extensions to provide high-level repository operations
  • lessfile, lesspipe - "input preprocessor" for less
  • node - Server-side JavaScript (Node.js)
  • npm - Node.js package manager
  • perl - Practical Extraction and Report Language
  • php-parse - PHP code analyzer
  • phpmyadmin - MySQL web administration tool
  • psysh - Psy Shell PHP debugger
  • python - Interactive high-level object-oriented language
  • ruby - Object-oriented scripting language
  • sass - Converts SCSS or Sass files to CSS
  • symfony - PHP framework for web projects
  • terminus - Pantheon CLI
  • vim - Text editor (ide?) pimped for Drupal development
  • webmin - Web-based administration interface
  • wp - WordPress CLI (in case you want to digress from Drupal)
  • xdebug - PHP debugger
  • xhprof - Hierarchical Profiler for PHP


  1. If Cloud9 IDE is not working, try the following:
    docker@boot2docker:~$ docker exec -itu docker dd /bin/bash
    docker@011ee8bdb44b:/var/www$ cloud9
  2. If you launch Cloud9 and notice the following message:
    Failed to write to 'state.settings'. Access denied acccessing this file or folder.
    You can fix by executing the following:
    docker@boot2docker:~$ docker exec -itu docker dd /bin/bash
    docker@011ee8bdb44b:/var/www$ cd /var
    docker@011ee8bdb44b:/var$ sudo chown -R docker www/ (password is docker)
  3. If you receive a message about phpMyAdmin not being configured completely, try the following:
    docker@boot2docker:~$ docker exec -itu docker dd /bin/bash
    docker@011ee8bdb44b:/var/www$ phpmyadmin (password is docker)


  • Login to boot2docker with PuTTY on Windows to improve your CLI experience. Make sure your boot2docker VM is running first. See
    Additional note: In step 2. Click "Save Private Key", name the file id_rsa.ppk. Then edit your PuTTY configuration, navigate to Connection > SSH > Auth and under Private key file for authentication:, click Browse... and locate id_rsa.ppk. Remember to save the PuTTY session when complete. If you have trouble connecting to docker@ as mentioned in step 3, try using on port 22 instead (your ip address may differ).
  • To restart LEMP stack services:
    docker@011ee8bdb44b:/var/www$ sudo supervisorctl
    mysql                            RUNNING    pid 15, uptime 0:11:29
    nginx                            RUNNING    pid 740, uptime 0:00:22
    php5-fpm                         RUNNING    pid 14, uptime 0:11:29
    webmin                           RUNNING    pid 746, uptime 0:00:05
    supervisor> restart nginx
    nginx: stopped
    nginx: started
    supervisor> exit


  • Still trying to wrap your head around Docker? Play this fun game that helps you learn the fundamentals. Rate it also if you like it. :)
Docker Pull Command