WordPress Docker container

WordPress Docker container on hub.docker.com

I’m moving all my sites and applications to Docker containers.
The main reason is because it makes the maintenance easier when everything an application needs is included in a single container.
I can run everything on one server or split it up over multiple servers when I need more resources or HA.
I’m currently provisioning everything with Ansible, but I’m looking to solutions that are focused on container orchestration.


To containerize WordPress, I couldn’t find a container on hub.docker.com that fits my needs.
So I had to build my own with the following requirements in mind:


PHP 5.5.13 breaks backwards compatibility

There’s a backwards compatibility break in PHP 5.5.13 (and PHP 5.4.29) affecting PHPUnit, Mockery, Doctrine, Symfony and probably a lot more.
Rafael Dohms triggered me with this Tweet;

And I just ran into the issues with Mockery/PHPUnit;

Failed asserting that exception of type "PHPUnit_Framework_Error_Warning" matches expected exception "SymfonyComponentHttpKernelExceptionNotFoundHttpException". 
Message was: "Erroneous data format for unserializing 'Mockery_9_Symfony_Component_HttpFoundation_File_UploadedFile'".

I found the following sources that explain what happened:

I advise to not upgrade to PHP5.5.13 but wait for PHP5.5.14, it should be released soon.


Caching WordPress with Nginx

Wordpress caching configuration

I’m running this blog on a small VPS with the help of Nginx and PHP-FPM.
But I noticed the site was not that fast as I wanted it to be.
This is mainly due to the little resources this VPS has. So every request needs to be as efficient as possible.
To make that possible, I want to cache the requests with Nginx to minimize the requests that needs to be handled by PHP-FPM.