Ralat Imej Docker: "standard_init_linux.go:190: proses pengguna exec menyebabkan "tiada fail atau direktori sedemikian" semasa Menjalankan Apl Web Go
Mesej ralat ini menunjukkan bahawa imej Docker tidak dapat mencari atau melaksanakan proses pengguna yang ditentukan Masalahnya berpunca daripada kebergantungan yang hilang atau parameter kompilasi yang tidak betul.
Apabila membina apl web Go, pastikan fail webapp.go mengimport pakej yang diperlukan, seperti pakej bersih Selain itu, import bersih termasuk libc secara lalai sebagai perduaan yang dipautkan secara dinamik. yang mungkin tiada dalam imej Docker.
Untuk menyelesaikan isu ini, gunakan kompilasi berikut parameter:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -tags netgo -ldflags '-w' -o mybin *.go
Dengan menyatakan CGO_ENABLED=0, anda melumpuhkan CGO (mekanisme Go untuk memanggil fungsi C) dan memaksa kompilasi Go tulen, menghapuskan keperluan untuk GOOS=linux dan GOARCH=amd64 menunjukkan sasaran platform dan seni bina. daripada binari.
Selepas menyusun semula dengan parameter ini, bina imej Docker dan jalankannya. Ralat kini harus diselesaikan dan apl web harus berfungsi dengan betul dalam bekas.
Atas ialah kandungan terperinci Mengapa Apl Web My Go dalam Docker Gagal dengan 'standard_init_linux.go:190: proses pengguna exec menyebabkan 'tiada fail atau direktori sedemikian''?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!