qemu-x86_64 の '/lib64/ld-linux-x86-64.so.2' で「そのようなファイルまたはディレクトリはありません」というエラーが発生しました
Rancher Desktop を使用して M1 MacOS 上で Dockerfile をビルドしようとすると、ユーザーは次のエラーが発生します:
qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory
このエラーは、ARM64 (Apple Silicon) システム上で x86_64 用にコンパイルされたコードをインストールして実行しようとすると発生します。デフォルトでは、Docker は必要なライブラリが不足しているプラットフォーム用の ARM64 イメージを選択する場合があります。
M1 MacOS のソリューション:
元の投稿者のソリューションとは対照的に、 M1 MacOS でこの問題を解決する鍵は、Dockerfile の FROM 行でプラットフォームを linux/amd64 として明示的に指定することです。これにより、Docker は必要なライブラリを含むベース イメージから開始されるようになります。
FROM --platform=linux/amd64 ubuntu:focal
この変更により、ビルド プロセスは開始点として x86_64 イメージを使用し、x86_64 ソフトウェアのインストールと実行が可能になります。コンテナ。
追加の考慮事項:
の場合可能であれば、ARM64 基本イメージの使用と、ビルド時にコンテナ内でソフトウェアをコンパイルすることを検討することをお勧めします。このアプローチにより、エミュレーションの必要性がなくなるため、M1 Mac でコンテナを実行する際のパフォーマンスが向上する可能性があります。
以上がM1 Mac で Dockerfile をビルドすると、「/lib64/ld-linux-x86-64.so.2」に対して「そのようなファイルまたはディレクトリはありません」というメッセージが表示されて失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。