Rumah > Artikel > pembangunan bahagian belakang > Mengapa Imej Docker Saya Tidak Boleh Cari Pakej My Go: Penyelesaian kepada Ralat \"Tidak Dapat Cari Pakej\"
Apabila membina imej Docker dengan aplikasi Go, menghadapi ralat "tidak dapat mencari pakej" boleh mengecewakan. Mari kita teliti isu ini dan sediakan penyelesaian.
Ralat bermula apabila Fail Docker menyalin fail projek ke direktori akar imej tanpa memasang kebergantungan atau membina binari dengan betul. Ketidakpadanan ini menyebabkan sistem mencari binari yang tidak wujud di lokasi yang dimaksudkan (/go/bin/myapp).
Untuk menyelesaikannya, kami mengesyorkan menggunakan struktur Dockerfile 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 ini akan:
Untuk menyahpepijat lagi isu ini, anda boleh menggunakan docker exec untuk menjalankan ls atau sebarang arahan lain. Contohnya:
docker exec <image name/hash> ls
Selain itu, anda boleh memasukkan cangkerang dalam imej yang dijana menggunakan:
docker run --rm -it <image hash/name> /bin/sh
Ini membolehkan anda meneroka imej dan memperoleh pemahaman yang lebih mendalam tentang strukturnya.
Atas ialah kandungan terperinci Mengapa Imej Docker Saya Tidak Boleh Cari Pakej My Go: Penyelesaian kepada Ralat \"Tidak Dapat Cari Pakej\". Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!