A Docker image for testing Drupal sites. Contains a DB, a Drupal site at /srv/drupal/www, and the PHP cUrl library
Nginx Shell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docker-resources
scripts
.gitignore
Dockerfile
README.md
circle.yml

README.md

A Drupal Docker image for testing and development

This project was developed in order to allow local development of Drupal modules, particularly Realistic Dummy Content.

The idea is to provide a starting point to easily provision a development environment using Docker on a CoreOS Vagrant machine. For a tutorial on how to use Docker and Vagrant, see the first class at Dcycle U..

The blog post Continuous integration with Circle CI and Docker for your Drupal project (Dcycle project, Feb. 20, 2015) provides more details on how to set this up.

Branches

The following branches' code always download the latest stable version of Drupal. For example, running 7.x-dev-1.x might download 7.23 one day, and 7.24 the next. Branch names use the Drupal branch followed by the type of box (dev for development--the only one for now--, eventually prod and test), followed by the version branch of the Dockerfile:

In this branch, the Drupal version is hard-coded, so that the same version of the Dockerfile always downloads a fixed version of Drupal. This is considered by some to be more robust, less prone to breaking:

Tags

Tags are named by replacing the x in the Dockerfile version with a minor version number, and for fixed Drupal versions, by appending the Drupal version, for example:

  • 8.0.x-dev-1.0 to use the latest stable version of Drupal 8.0.x, whatever it is.
  • 8.0.x-dev-1.0-8.0.0-beta10 to use 8.0.0-beta10.

The tags are not guaranteed to keep up with the Drupal versions. Fork this project or submit a pull request if you want a more recent tag.

Example usage

See the Dockerfiles and scripts in Realistic Dummy Content.

Developers

I try to keep this project in sync with the alberto56/docker-drupal Docker repository. This means that if a tag exists here, you should be able to use it in your Dockerfile (see "Example usage", above), by typing, for example:

FROM alberto56/docker-drupal:7.x-dev-2.0

If Docker cannot find that tag, pleas submit a bug report with your exact output. If you want to fork this repository and maintain your own Docker repository, here is an example of how to do so for a specific tag.

Start by making sure you have an account on Docker.com; this will allow you to host your own repositories.

Replace 8.0.x-dev-1.0-8.0.0-beta10, c384f6f44b8c, alberto56, and me@example.com with whatever tag, image hash, username and email you are using:

$ git checkout 8.0.x-dev-1.0-8.0.0-beta10
...
$ docker build .
...
Successfully built c384f6f44b8c
$ docker tag c384f6f44b8c alberto56/docker-drupal:8.0.x-dev-1.0-8.0.0-beta10
$ docker push alberto56/docker-drupal
...
Please login prior to push:
Username: alberto56
Password:
Email: me@example.com