Docker イメージ エラー: "standard_init_linux.go:190: Go Web App の実行時に実行ユーザー プロセスにより "そのようなファイルまたはディレクトリはありません" が発生しました
このエラー メッセージは、Docker イメージが指定されたユーザー プロセスを見つけられない、または実行できないことを示しています。問題の原因は依存関係の欠落または不適切なコンパイルです。
Go Web アプリを構築するときは、webapp.go ファイルが net パッケージなどの必要なパッケージをインポートしていることを確認してください。また、net インポートには、動的にリンクされたバイナリとしてデフォルトで libc が含まれている可能性があります。 Docker イメージに欠落しています。
この問題を解決するには、次のコンパイル パラメータを使用します。
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -tags netgo -ldflags '-w' -o mybin *.go
次のように指定します。 CGO_ENABLED=0 の場合、CGO (C 関数を呼び出す Go のメカニズム) が無効になり、純粋な Go コンパイルが強制され、GOOS=linux および GOARCH=amd64 はターゲット プラットフォームとアーキテクチャを示します。 -a は、静的にリンクされたバイナリを構築します。 -ldflags '-w' はバイナリから不要な情報を削除します。
これらのパラメータを使用して再コンパイルした後、Docker イメージをビルドして実行します。 それ。これでエラーは解決され、Web アプリはコンテナ内で正しく機能するはずです。
以上がDocker の Go Web アプリが「standard_init_linux.go:190: exec user process原因の「no such file or directory」」で失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。