使用 Samba 的 Docker 容器退出时没有任何消息

使用 Samba 的 Docker 容器退出时没有任何消息

我们有一台运行 CentOS 的服务器,该服务器上有 Docker 容器中的多个服务,用于将它们与主机更改分开。

上周五我们对 CentOS 进行了更新,从那时起我们的一项服务确实启动并立即退出。其他15+服务都还好。

我克隆了容器设置,更改了容器名称并重建了同样的问题:容器启动然后退出,没有任何消息。

该容器源自David Personette 的 samba 容器。现在退出但未使用的实际命令是:

exec ionice -c 3 smbd -FS

我应该降级 docker 会有副作用吗?我还能做些什么来让它再次运行吗?我们选择了容器来对操作系统进行抽象,这样的抽象是不是没有想象中那么好呢?

答案1

除非您提高调试级别,否则容器将退出且没有任何注释。你可以使用类似的东西--debuglevel=4

一旦你这样做了,重建并重新启动容器,你应该在最后得到类似的东西:

Server exit (EOF on stdin)

这指向解决方案,将smbd调用更改为:

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

并且您的容器不应再直接退出。

我不确定是什么导致了这种向后不兼容的更改,也不知道为什么没有针对现有的 dockerhub 条目进行测试。

在升级到 1.11 时,我的两个容器也损坏了。在降级到 1.10.3 时,遇到了可怕的Cannot stop container .... Container does not exist: container destroyed错误。我必须停止 docker,清除所有历史记录,所以我真的不能推荐这样做。

相关内容