Docker 任何容器在 Ubuntu 14.04 上崩溃

Docker crashing on Ubuntu 14.04 for any container

在 Ubuntu 14.04 LTS 服务器上使用 Jenkins 运行 我们开始在测试容器启动时崩溃并出现以下错误:

 OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:297: copying bootstrap data to pipe caused \"write init-p: broken pipe\"": unknown

最初怀疑这可能是由于本地 Dockerfile 或 Jenkins 服务器本身的配置错误,但是 运行:

docker run --rm -i -a stdin -a stdout ubuntu echo 1

应该仍然有效并产生了同样的问题

事实证明,这是由于 a recent Docker update 导致 Ubuntu 14.04 LTS

上默认发现的较旧的 3x 内核出现问题

有用的是,可以在 14.04 上升级内核版本,而不是升级整个 OS。可以按照this Ask Ubuntu article中的描述来完成,但简而言之:

sudo apt-get install linux-generic-lts-xenial
sudo reboot

注意:搜索收到的错误消息显示没有其他在线当前文章,但搜索它的部分内容来自一些讨论它的特定应用程序的论坛帖子。出于这个原因,我觉得在这里创建一个更容易定位的版本很有用,因为它将涵盖开发、测试甚至在 14.04 上生产 运行 容器的用例。