Docker:将引导数据复制到管道时出现“write init-p: broken pipe”

你好,

我目前身在国外,虽然有点傻,但我还是想更新我的 Discourse 服务器——通常这都不会有问题。

更新之后,论坛无法启动。我尝试了 git pull 和 launcher rebuild,但一直出现以下错误:

/usr/bin/docker: 守护进程错误响应:OCI 运行时创建失败:container_linux.go:348: 启动容器进程导致 “process_linux.go:297: 复制引导数据到管道导致 "write init-p: 管道破裂"”:未知。
您的 Docker 安装无法正常工作

参见:Troubleshoot docker installation issues

在论坛中搜索并没有太多结果——除了“您的 Docker 无法正常工作”。我没有任何改动,而且这台机器是专门用于 Discourse 的。我尝试重新安装 Docker,但没有任何变化……

任何帮助让论坛重新运行起来的建议都将不胜感激 :slight_smile:

系统运行在 Digital Ocean 上的 Ubuntu 14.04.5 LTS(我不确定升级到 16.04 是否安全)……

我运行的线程输出如下:

root@forum:~# docker run --rm -i -a stdin -a stdout ubuntu echo 1
docker: 守护进程错误响应:OCI 运行时创建失败:container_linux.go:348: 启动容器进程导致 "process_linux.go:297: 复制引导数据到管道导致 \"write init-p: 管道破裂\"":未知。

Docker 版本:

# docker -v
Docker version 18.06.2-ce, build 6d37f41

Did you try a reboot on the server?

Several, to no avail :confused:

If a simple

fails, docker is completely broken in your server. Can you share the output of df -h ?

Sure. There should be enough space:

root@forum:~# df -h
Filesystem                 Size  Used Avail Use% Mounted on
udev                       3.9G  4.0K  3.9G   1% /dev
tmpfs                      799M  360K  799M   1% /run
/dev/disk/by-label/DOROOT  158G  117G   34G  78% /
none                       4.0K     0  4.0K   0% /sys/fs/cgroup
none                       5.0M     0  5.0M   0% /run/lock
none                       3.9G     0  3.9G   0% /run/shm
none                       100M     0  100M   0% /run/user

Is the docker service running? service docker start

Yep, running:

root@forum:/var/discourse# service docker start
start: Job is already running: docker
root@forum:/var/discourse# ps aux | grep docker
root      1687  0.2  0.9 881840 76188 ?        Ssl  13:26   0:05 /usr/bin/dockerd --raw-logs
root      1701  0.2  0.4 564568 35080 ?        Ssl  13:26   0:05 docker-containerd --config /var/run/docker/containerd/containerd.toml

我搞不定。我能创建一台新服务器(使用 Ubuntu 18.04),然后安装 Docker 并复制 /var/discourse 目录吗?

Yes. That should work.

I hope so. Currently copying over a crapton of data :stuck_out_tongue_winking_eye: It’ll take a while :confused:

If you’d be satisfied with the latest backup you could copy just that and the containers directory.

I need the latest of everything … It looks like it’s working - Waiting for DNS to propagate fully :slight_smile:

The problem is the version of the kernel and docker. It’s a security updete from docker

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5736

Man, I wish I had seen that… I spent 5 hours debugging, searching, then creating a new droplet and copying everything over and waiting for DNS to propagate :stuck_out_tongue_winking_eye: Oh, well, now I have a 18.04 droplet running the forum…