ホームページ > バックエンド開発 > Golang > Go Web アプリで Docker の「standard_init_linux.go:190: exec user process Cause \'no such file or directory\'」エラーを修正する方法

Go Web アプリで Docker の「standard_init_linux.go:190: exec user process Cause \'no such file or directory\'」エラーを修正する方法

Susan Sarandon
リリース: 2024-12-18 16:54:14
オリジナル
164 人が閲覧しました

How to Fix Docker's

Go Web アプリでの Docker エラー: 「standard_init_linux.go:190: exec user process起因 "そのようなファイルまたはディレクトリはありません"」の解決

基本的なDocker で Web アプリケーションを実行すると、「standard_init_linux.go:190: exec user process起因」というエラーが発生する場合があります。ファイルまたはディレクトリ"。"この問題は、ファイル、スクリプト インタプリタ、または実行可能ライブラリが見つからないために発生します。

この場合、ネット インポートには動的リンク バイナリとして libc が含まれます。この問題を解決するには、コンパイル中に追加のフラグを指定する必要があります:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -tags netgo -ldflags '-w' -o mybin *.go
ログイン後にコピー

フラグの説明:

  • CGO_ENABLED=0: C とのインターフェースに使用される Cgo を無効にします。 code.
  • GOOS=linux: ターゲット オペレーティング システムを Linux として指定します。
  • GOARCH=amd64: ターゲット アーキテクチャを amd64 (64) として指定します-ビット).
  • -a:すべての Go ファイルを再ビルドします。
  • -tags netgo: Go 標準ライブラリの net パッケージを使用するようにプログラムにタグを付けます。
  • -ldflags '-w': 静的にリンクされた実行可能ファイルを作成します (共有ファイルへの依存関係を削除します)
  • -o mybin: 出力バイナリ名を「mybin」として指定します。

これらのフラグを使用すると、静的にリンクされた実行可能ファイルが作成されます。外部ライブラリに依存しません。これにより、Docker でアプリケーションを実行するときの「そのようなファイルまたはディレクトリはありません」エラーが解決されるはずです。

以上がGo Web アプリで Docker の「standard_init_linux.go:190: exec user process Cause \'no such file or directory\'」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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