Docker: ブートストラップデータをパイプにコピーする際に「write init-p: broken pipe」が発生

こんにちは、

現在、海外にいます。愚かなことですが、Discourse サーバーを更新しようと思いました。通常は問題なく更新できるのですが。

更新後、フォーラムが起動しませんでした。git pull と launcher rebuild を試しましたが、同じエラーが繰り返し表示されます。

/usr/bin/docker: Error response from daemon: 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.
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: Error response from daemon: 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.

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…