Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Imej Docker Saya Tidak Boleh Cari Pakej My Go?

Mengapa Imej Docker Saya Tidak Boleh Cari Pakej My Go?

Patricia Arquette
Patricia Arquetteasal
2024-11-04 18:20:02445semak imbas

Why Can't My Docker Image Find My Go Package?

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:

  1. Salin fail projek ke /go/src/myapp dalam imej.
  2. Tetapkan direktori kerja kepada /go /src/myapp.
  3. Pasang kebergantungan menggunakan alat pengurusan kebergantungan yang sesuai.
  4. Bina dan pasang binari myapp.
  5. Tetapkan titik masuk.

Penyelesaian Masalah Tambahan

Jika perlu, anda boleh mengesahkan struktur fail bekas selepas setiap arahan ADD menggunakan docker exec ls.

Untuk memeriksa imej dengan lebih terperinci, masukkan cangkerang dalam imej yang dijana menggunakan docker run --rm -it /bin/sh.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn