首页 > 解决方案 > 对于任何容器,Docker 在 Ubuntu 14.04 上崩溃

问题描述

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

 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

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

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

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

标签: dockerubuntuubuntu-14.04

解决方案


事实证明,这是由于最近的 Docker 更新导致 Ubuntu 14.04 LTS 上默认发现的旧 3x 内核出现问题

有用的是,可以在 14.04 上升级内核版本,而不是升级整个操作系统。可以按照此 Ask Ubuntu 文章中的描述完成,但简而言之:

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

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


推荐阅读