プロジェクトのシナリオと問題の説明
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
エラーを報告すると解決します。コンテナに正常に入力され、正常に使用できます~