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
- https://github.com/moby/moby/issues/40835#issuecomment-667311759
- https://serverfault.com/questions/1017994/docker-compose-oci-runtime-create-failed-pthread-create-failed/1018402
GMO の VPS はドンピシャで Virtuozzo 使っているので、つまりそういうことなのだと解釈した。
[2021/06/14 追記]
その後、インスタンスサイズを上げずに色々いじってみました。
/proc/user_beancounters
を見ると、numiptent の held = maxheld = limit になっている- 「iptablesのパケットフィルタのエントリ数」とは何ぞやと思いつつ、とりあえず iptables のルールを減らしてみようと考える
- Docker はデフォルトで iptables によしなにルールを追加してくれる
- いったん、Docker 起動時に
--iptables=false
を指定して、実験的に iptables を緩くしてみる - numiptent は held < maxheld < limit の状態になるも、physpages が held = maxheld = limit になってしまう
- 諦める
結果として、今回、当該 VPS を使わないことにしました。
Virtuozzo、iptables、Docker のネットワーク周りに深い理解がなく、現状そこを追求することを善としないので、別のサービスを利用するというのが今回自分にとって最善であるという判断です。
もちろん、異なる利用シーンにおいてはこの結果の限りではないのは言うまでもありません。
とはいえ、なぜこのエラーが発生したのか、気にならないわけではないので、何か心当たり等がある方はコメントなりで共有していただければ幸いです。
参考 URL