Rumah >pembangunan bahagian belakang >Golang >Mengapa Imej Gores Docker Saya Mengembalikan Ralat 'tiada fail atau direktori sedemikian'?
Menyelesaikan masalah "tiada fail atau direktori sedemikian" Ralat dengan Imej Gores Docker
Imej gores Docker menyediakan persekitaran masa jalan yang minimum untuk menjalankan bekas. Walau bagaimanapun, apabila menggunakan Fail Docker dengan imej calar, anda mungkin menghadapi ralat yang menyatakan "standard_init_linux.go:207: proses pengguna exec menyebabkan 'tiada fail atau direktori sedemikian'."
Punca dan Penyelesaian
Ralat ini boleh timbul apabila anda tidak menggunakan binaan CGO. CGO (CGO bermaksud "C Go"; dalam konteks pengaturcaraan Go, ia merujuk kepada keupayaan untuk memanggil kod C dalam program Go) membina menghasilkan pautan dinamik ke perpustakaan seperti libc atau libmusl. Untuk menyelesaikan isu ini, lumpuhkan CGO dengan menambahkan baris berikut pada fail Docker anda:
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \ -ldflags="-w -s" -o $PROJ_BIN_PATH ./cmd/...
Pertimbangan Lain
Selain itu, semak perkara berikut:
docker build --target=0 -t your_go_image . docker run -it --rm your_go_image ldd /$PROJ_NAME
Atas ialah kandungan terperinci Mengapa Imej Gores Docker Saya Mengembalikan Ralat 'tiada fail atau direktori sedemikian'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!