Collabora Docker capabilities problem

I ran into the same problem on debian wheezy. It seems that the docker storage driver AUFS and debian 8 do not fit together. [EDIT2] As this post is referenced often other systems seem have problems with theyr default storage driver as well.

The solition is to change the docker storage driver, e.g. to devicemapper. Under Debian 8 or 9 proceed as follows (as root user in this example):
[EDIT2] The “systemd” solution I initially posted still should work fine for anybody using it … but as always solutions change over time. @almereyda mentioned below that you can use a json config file (tested with docker ce 17_09 on debian 9) :

editor /etc/docker/daemon.json

That file should (at least) contain:

{
    "storage-driver": "devicemapper"
}

If you want to use another storage-driver or change more options for dockerd, at the end of this post there is another EDIT2 Block containing links to other storage driver options and the daemon.json file itself.

If you would want to get rid of all old containers, enter

docker system prune

and confirm that you will delete any and all old containers.

:scream: This will delete any and all old containers - which is why you have to consciously enter “y”. If you have more going on in docker please consider how to get your other containers running on the new storage location. You have been warned.

restart docker and your container

systemctl restart docker.service
docker run -t -d -p 127.0.0.1:9980:9980 -e ‘domain=YOUR.CLOUD.COM’ --restart always --cap-add MKNOD collabora/code

This last command also starts a download of the collabora container.

Hope this helps others running into this problem.

Anyone who has a more complex docker setup and wants to adapt this solution should take a look here:

  1. Runtime options with Memory, CPUs, and GPUs | Docker Docs
  2. Docker storage drivers | Docker Docs
  3. https://docs.docker.com/engine/reference/commandline/dockerd//#daemon-configuration-file

[EDIT2] @almereyda “made me” revisit my solution. I do not disagree with your post. Two thoughts on that:

  1. Docker thankfully provides a userguide on how to choose the storage driver and configuration details for any . As the choice of the storage driver for docker might be a “moving target” as technology evolves, it is defenitely worth taking a look if my post is still up to date (see above)
    At the time of updating this article for the 2nd time (November 2017), Docker CE still would use aufs as per default on Debian and Ubuntu. The preference is noted as follows in the docker storagedriver/selectadriver article (Link 2. above):
    Docker CE on Debian aufs, devicemapper, overlay2 (Debian Stretch), overlay, vfs
    As far as I can see, besides “aufs”, “devicemapper” is still the preferred choice for all OS’es other than Debian and Ubuntu.
    So, in order to use collabora which should not store any persistent data I will stick with “devicemapper”, as this is still the “most preffered” way by docker standards besides aufs - which produces the problems leading to this post.
    If you have other use cases to consider ( = docker containers that need to persist data, like maybe nextcloud) feel free to use overlay2 storage driver instead - most likely you are correct about the simplicity of that driver :wink: .

  2. Dockerd has its own config in /etc/docker/daemon.json …
    Finally! - this means that the Systemd unit has not to be touched any more. Sooo…
    I test installed docker on a “virgin” Debian 9. Docker CE provides the option which makes the configuration much simpler. If you have special needs that should be configured take a look at (Link 3 above).

9 Likes