インストールされた Go バイナリが Alpine Linux Docker のパスに見つかりません
この質問は、Alpine Docker でカスタム Go バイナリを実行しようとすると発生します。画像の場合、パス内でバイナリが見つかりません。 Alpine のデフォルトの Go バイナリは期待どおりに動作しますが、カスタム バイナリでは「見つからない」エラーが発生します。
この問題は、Alpine Linux に互換性リンクがないことが原因です。バイナリは特定のダイナミック ライブラリ (例: /lib64/ld-linux-x86-64.so.2) に依存していますが、Alpine にはそのライブラリへの直接のシンボリック リンクがありません。
この問題を解決するには、Dockerfile 内で次のコマンドを実行します:
RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2
このコマンドは、互換性のある動的ライブラリ間に必要なシンボリック リンクを作成し、カスタム Go バイナリを使用して、必要な依存関係を見つけて正常に実行します。
以上がカスタム Go バイナリが Alpine Docker イメージで実行できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。