docker:デーモンのエラー応答:shimを生成できません:OCIランタイム生成に失敗しました。

docker:デーモンのエラー応答:shimを生成できません:OCIランタイム生成に失敗しました。

OpenJDKやhello-worldなどの公式Dockerイメージを実行すると、このエラーが発生しました。

# docker run hello-world
docker: Error response from daemon: failed to create shim: OCI runtime create failed:
container_linux.go:380: starting container process caused: process_linux.go:402:
getting the final child's pid from pipe caused: EOF: unknown.

私のオペレーティングシステムは次のとおりです

# rpm --query centos-release
centos-release-7-5.1804.4.el7.centos.x86_64

私のDockerのバージョンは次のとおりです。

# docker -v
Docker version 20.10.14, build a224086

このエラーは、変更や更新がないために発生します。この問題の原因をどのように調査できますか?

答え1

CentOS 7ベースカーネル(3.10)には、最新のDockerバージョンに関連するいくつかの問題があります。カーネルバージョン5以降にアップデートする必要があります。

https://forums.docker.com/t/centos7-docker-hello-world-fails/68941/4

CentOS 7.6を使用していますが、カーネルバージョンは3.10です。したがって、docker-ce バージョン Docker バージョン 18.09.2、ビルド 6247962 を更新した後、同じメッセージが表示されました。この問題を解決するために、カーネルバージョンを4.20に更新した後、dockerが正しく実行されます。このページのCentOSカーネルアップデートプロセスに従いました。

CentOSカーネルの更新に役立つリンク:

関連情報