Docker イメージを最初から構築する場合、実行中のエラーを防ぐために静的バイナリが必要です。ただし、コマンド RUN go build -o /go/bin/myapp は、「そのようなファイルまたはディレクトリはありません」エラーで失敗するバイナリを生成する可能性があります。
これを解決するには、次のフラグが必要です:
RUN CGO_ENABLED=0 go build -o /go/bin/myapp -a -ldflags '-extldflags "-static"' .
説明:
CGO_ENABLED=0 と -ldflags '-extldflags " の両方を使用することが重要です。 -static"' 理由:
両方のフラグを使用すると、結果のバイナリが静的であり、外部ライブラリに依存しないことを保証できます。
以上がGo で Docker イメージの静的バイナリを最初から構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。