Menyelesaikan masalah "tidak dapat mencari pakej" Ralat dalam Docker Build for Go App
Membina imej Docker dengan aplikasi Go kadangkala boleh mengakibatkan ralat "tidak dapat mencari pakej". Untuk memahami punca dan mencari penyelesaian, mari kita periksa Fail Docker yang disediakan dan punca utama isu tersebut.
Fail Docker yang anda berikan menyalin semua fail ke direktori akar imej, termasuk folder myapp anda. Walaupun ini kelihatan betul, ia sebenarnya menimbulkan masalah apabila cuba membina aplikasi Go.
Selepas menyalin fail, anda menjalankan go build myapp. Walau bagaimanapun, pengkompil Go menjangkakan kod aplikasi akan hadir dalam direktori /go/src/myapp. Memandangkan anda tidak mengarahkan Fail Docker untuk memasang sebarang kebergantungan atau mengalihkan kod ke lokasi yang dijangkakan, ia tidak dapat mencari pakej myapp dan menimbulkan ralat.
Untuk menyelesaikan isu ini, ubah suai Fail Docker anda seperti berikut:
FROM golang:1.9.2 ADD . /go/src/myapp WORKDIR /go/src/myapp RUN go get myapp RUN go install ENTRYPOINT ["/go/bin/myapp"]
Fail Docker yang diubah suai ini akan melaksanakan operasi berikut:
Dengan mengikuti langkah ini, Dockerfile anda akan memasang dan membina aplikasi Go dengan betul, menghapuskan ralat "tidak dapat mencari pakej".
Petua Penyelesaian Masalah Tambahan
Jika anda masih menghadapi masalah, pertimbangkan untuk menggunakan docker exec untuk memeriksa kandungan imej dan mendiagnosis masalah dengan lebih lanjut. Anda juga boleh memasukkan cangkang imej yang dijana untuk mendapatkan pemahaman yang lebih baik tentang persekitaran.
Atas ialah kandungan terperinci Mengapa My Go Docker Build Gagal dengan Ralat \'tidak dapat mencari pakej\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!