ホームページ > バックエンド開発 > Golang > M1 Mac で Dockerfile をビルドすると、「/lib64/ld-linux-x86-64.so.2」に対して「そのようなファイルまたはディレクトリはありません」というメッセージが表示されて失敗するのはなぜですか?

M1 Mac で Dockerfile をビルドすると、「/lib64/ld-linux-x86-64.so.2」に対して「そのようなファイルまたはディレクトリはありません」というメッセージが表示されて失敗するのはなぜですか?

DDD
リリース: 2024-12-13 10:13:16
オリジナル
1005 人が閲覧しました

Why Does Building a Dockerfile on M1 Mac Fail with

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート