December 18, 2014

Docker experience with Plone

I have been working with Docker over the fews in order build a demo system for XML Director. Docker in general looks nice and promising but there are lot of things that cause some headaches:

  • incremental builds with caching is a nice feature in theory. In real life you often have to make changes at the begin of the Dockerfile and the complete build dance starts from scratch
  • Docker builds are slow
  • Pushing an image is slow
  • Pulling and updating images is slow and unreliable
  • Various kernel panics on OpenSuse 13.1 (no crashes with CentOS 6)
  • Docker "internal" corruptions that could be resolved only by removing the local /var/lib/docker folder
  • It is not possible to start a build at a certain point within the Dockerfile without some tricks
  • Fiddeling a buildout configuration takes a lot of time because you can not make use of buildout caches without tricks
  • Docker images can be big. In my case the XML Director image with Plone and eXist-db ended up with a final size of 2.1 GB
  • from reading/hearing: Docker had several severe security issues in the past

Docker is a new project and moving and evolving at fast lightspeed. That's why it is important keeping an eye on it.