walkingmask’s development log

IT系の情報などを適当に書いていきます

MENU

OCI runtime create failed: container_linux.go:367: starting container process caused: process_linux.go:352: getting the final child's pid from pipe caused: EOF: unknown

クラウドVPS byGMO で Docker を起動してコンテナをポコポコ(docker-compose で 5 個程度)作ったら発生。

結論としては、インスタンスサイズを上げないと解決できない。 追記にて訂正

参考 URL

  1. https://github.com/moby/moby/issues/40835#issuecomment-667311759
  2. https://serverfault.com/questions/1017994/docker-compose-oci-runtime-create-failed-pthread-create-failed/1018402

GMOVPS はドンピシャで Virtuozzo 使っているので、つまりそういうことなのだと解釈した。

[2021/06/14 追記]

その後、インスタンスサイズを上げずに色々いじってみました。

  1. /proc/user_beancounters を見ると、numiptent の held = maxheld = limit になっている
  2. iptablesのパケットフィルタのエントリ数」とは何ぞやと思いつつ、とりあえず iptables のルールを減らしてみようと考える
  3. Docker はデフォルトで iptables によしなにルールを追加してくれる
  4. いったん、Docker 起動時に --iptables=false を指定して、実験的に iptables を緩くしてみる
  5. numiptent は held < maxheld < limit の状態になるも、physpages が held = maxheld = limit になってしまう
  6. 諦める

結果として、今回、当該 VPS を使わないことにしました。

Virtuozzo、iptables、Docker のネットワーク周りに深い理解がなく、現状そこを追求することを善としないので、別のサービスを利用するというのが今回自分にとって最善であるという判断です。

もちろん、異なる利用シーンにおいてはこの結果の限りではないのは言うまでもありません。

とはいえ、なぜこのエラーが発生したのか、気にならないわけではないので、何か心当たり等がある方はコメントなりで共有していただければ幸いです。

参考 URL

  1. https://hackers-high.com/linux/openvz-attention/