No such File or Directory Error: ARM64 Docker Builds での QEMU-x86_64 のトラブルシューティング
QEMU-x86_64 を使用して M1 MacOS で Docker イメージをビルドする場合、ユーザーにエラーが発生する可能性があります「qemu-x86_64: '/lib64/ld-linux-x86-64.so.2' を開けませんでした: そのようなファイルまたはディレクトリはありません。」このエラーは、ARM64 M1 アーキテクチャに Dockerfile に必要な x86_64 共有オブジェクト ライブラリがないために発生します。
この問題を解決するには、Dockerfile の FROM ディレクティブで指定されているプラットフォームを変更する必要があります。デフォルトの ARM64 プラットフォームを使用する代わりに、次のように linux/amd64 プラットフォームを明示的に指定します:
FROM --platform=linux/amd64 ubuntu:20.04
この変更により、Docker は必要な共有オブジェクト ライブラリを含む x86_64 基本イメージを使用するようになります。その結果、ビルド プロセスは、x86_64 用に明示的にコンパイルされたコードをインストールして実行しようとします。
あるいは、可能であれば、ビルド時に ARM64 基本イメージを使用し、コンテナ内でソフトウェアを x86_64 用にコンパイルすることを検討してください。エミュレーションにより速度が低下する可能性がありますが、このアプローチにより、M1 ベースの Mac でコンテナを実行する場合のパフォーマンスが向上します。
以上がARM64 Docker 上の QEMU-x86_64: 「そのようなファイルまたはディレクトリはありません」エラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。