Isu Binaan Docker: Tidak Dapat Cari Pakej Go
Mencuba untuk membina imej Docker dengan aplikasi Go, anda mungkin menghadapi ralat "boleh 't load package: package myapp: cannot find package".
Latar Belakang Masalah
Fail Docker anda mengarahkan proses binaan untuk menyalin semua fail ke akar imej, kemudian bina dan jalankan binari myapp dari /go/bin/myapp. Walau bagaimanapun, pendekatan ini mengakibatkan ralat kerana binari tidak ditemui dalam direktori itu.
Penyelesaian
Sebaliknya, ubah suai Dockerfile 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 dikemas kini ini akan melakukan langkah berikut:
Penyelesaian Masalah Tambahan
Jika perlu, anda boleh mengesahkan struktur fail bekas selepas setiap arahan ADD menggunakan docker exec
Untuk memeriksa imej dengan lebih terperinci, masukkan cangkerang dalam imej yang dijana menggunakan docker run --rm -it
Atas ialah kandungan terperinci Mengapa Imej Docker Saya Tidak Boleh Cari Pakej My Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!