Docker hanging/zombie process

Last night we experienced problems stopping and starting containers, and when I ran a ps I saw this:

4 Z root 4986 1 0 80 0 - 0 exit Aug04 ? 00:01:23 [docker]

We rebooted the machine and then all seemed OK. Today I tried to build a new container and it hung. Tried it multiple times and each time it hung in a different place. I was able to run ‘docker ps’ but ‘docker info’ hung. I tired to remove a container with ‘docker rm’ and that hung, then after that ‘docker ps’ and every docker command hung. A ps showed:

4 S root 4895 1 0 80 0 - 305052 futex_ Aug06 ? 00:01:01 /usr/bin/docker -d

I tried to do ‘sudo service docker restart’ and that hung and now docker is again in the zombie state:

4 Z root 4895 1 0 80 0 - 0 exit Aug06 ? 00:01:24 [docker]

What could be the cause of these sudden problems? How can I debug and fix this? We are dead in the water without docker working reliably.

Rebooted the machine and still every docker command hangs. When I do a ‘docker rm’ I see this in the system logs:

device-mapper: ioctl: unable to remove open device docker-253:6-1048578-317bb6ad40cded3fbfd752d95551861c2e4ef08dffc1186853fea0e85da6b12b
INFO: task docker:16676 blocked for more than 120 seconds.
Not tainted 2.6.32-573.12.1.el6.x86_64 #1
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
docker D 000000000000000b 0 16676 1 0x00000080
ffff88035ef13ea8 0000000000000082 ffff88035ef13e70 ffff88035ef13e6c
ffff88035ef13e28 ffff88062fc29a00 0000376c85170937 ffff8800283759c0
0000000000000400 00000001039d40c7 ffff8803000445f8 ffff88035ef13fd8
Call Trace:
[] __mutex_lock_slowpath+0x96/0x210
[] ? wake_up_process+0x15/0x20
[] mutex_lock+0x2b/0x50
[] sync_filesystems+0x26/0x150
[] sys_sync+0x17/0x40
[] system_call_fastpath+0x16/0x1b

We still have this happening quite often. The docker daemon hangs and the only option is a reboot. This makes docker somewhat unsuitable for a production deployment. Anyone have any suggestions on what to do about this?

We are running on RHEL 6.7 with docker 1.7.1, build 786b29d. Can or should I install a new version? That is the version yum installs. If I did want a new version how would I install that (sorry if that is a dumb question, I am not a sys admin).

Googling, I found on this a Red Hat site “Red Hat does not recommend running any version of Docker on any RHEL 6 releases.” We have been running docker on RHEL 6 for a few years, so this confuses me. Upgrading to RHEL 7 is not really an option for us right now.

Can anyone shed any light on these issue? We need docker to work reliably without having to reboot often.

FWIW, I’m getting similar behaviour on CEntOS7.