8

We have a server running CentOS, on which there are several services in Docker containers to separate them from host changes.

Last week Friday we ran an update on CentOS, and since then one of our services does start and immediately exits. The other 15+ services are fine.

I cloned the container setup, changed the container name and rebuild with the same problem: container starts and then exits without any message.

The container is derived from David Personette's samba container. The actual command that exits now but did not use to is:

exec ionice -c 3 smbd -FS

Should I downgrade docker will that have side effects? Is there anything else I can do to get this running again? We chose containers to abstract from the operating system, is that abstraction not as good as expected?

2
  • What happens if you run a shell in the container and then execute that command manually?
    – jordanm
    Commented Apr 17, 2016 at 18:04
  • I had difficulty trying to try that, the container has an entry-point and requires commandline parameters to start. And if it would work, I would have no idea how to use that in production, is that possible?
    – john
    Commented Apr 18, 2016 at 9:47

1 Answer 1

8

The container will exit without any comment, unless you increase the debug level. You can use something like --debuglevel=4.

Once you do that, rebuilt and restart the container you will should get something at the end like:

Server exit (EOF on stdin)

And that points to the solution, change the smbd invocation to:

exec ionice -c 3 smbd -FS < /dev/null

and your container should no longer directly exit.

I am not sure what causes this backwards incompatible change, nor why this was not tested against existing dockerhub entries.

I had two of my containers break as well on upgrading to 1.11. and on downgrading to 1.10.3, ran into the dreaded Cannot stop container .... Container does not exist: container destroyed bug. I had to stop docker, clear all of the history, so I cannot really recommend that.

2
  • This helped me solve the problem yesterday, without having to downgrade!
    – john
    Commented Apr 18, 2016 at 9:45
  • 1
    I read somewhere that Samba stopping is actually a feature. It tries to detect if its parent process has died (EOF on stdin). Your solution works perfectly.
    – Martin
    Commented Jun 25, 2016 at 9:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .