docker がコンテナに入ると、「OCI ランタイムの実行に失敗しました: 実行に失敗しました: コンテナ プロセスを開始できません: chdir to cwd (“

プロジェクトのシナリオと問題の説明

Docker がイメージを作成し、Dockerfile を書き込むとき、ルート ディレクトリの下に特定のディレクトリが定義されます。例としてディレクトリ /Xxx を取り上げます。このディレクトリは今後使用しないため、コンテナを使用する際にはディレクトリが削除され、コンテナを終了すると再びコンテナに入ることができなくなり、エラーが発生します。
コンテナに入る手順は次のとおりです: (コンテナの CONTAINER ID の最初の 3 桁は 92v)

docker exec -it 92v /bin/bash

エラーは次のとおりです。

OCI runtime exec failed: exec failed: unable to start container process: chdir to cwd ("/Xxx") set in config.json failed: no such file or directory: unknown

原因分析:

エラー レポートの config.json に設定されている (「/Xxx」) から、このエラー レポートの一般的な理由は、Docker の作成時に定義されたフォルダーがなくなっていることであることがわかります。


解決:

解決策は非常にシンプルかつ大雑把です。コンテナーの外部に同じ名前のフォルダーを定義し、docker cpコマンドを使用して同じ名前のフォルダーをコンテナーにコピーし、コンテナーが最初に作成されたときに定義されたディレクトリの場所をコピーできます。最初にコンテナ内のルートディレクトリに定義した /Xxx フォルダを例にとると、コンテナの CONTAINER ID の上 3 桁が 92v で、コンテナの外に同名の空のディレクトリ /Xxx が新規作成され、絶対パスは /home/Sss/Yyy/Xxx/ です。次のコマンドを使用して、空のディレクトリをコンテナにコピーします。

docker cp /home/Sss/Yyy/Xxx/ 92v:/Xxx/

次に、コンテナーに入ります。

docker exec -it 92v /bin/bash

エラーを報告すると解決します。コンテナに正常に入力され、正常に使用できます~

おすすめ

転載: blog.csdn.net/qq_39691492/article/details/130846961