Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Saya Menerima Ralat \'Laluan Import Tidak Bermula dengan Nama Hos\' Semasa Membina Imej Docker?

Mengapa Saya Menerima Ralat \'Laluan Import Tidak Bermula dengan Nama Hos\' Semasa Membina Imej Docker?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-03 16:57:30513semak imbas

Why Am I Receiving a

Ralat Binaan Docker: 'Laluan Import Tidak Bermula dengan Nama Hos'

Apabila cuba membina imej Docker menggunakan pakej tempatan, pengguna mungkin menghadapi ralat "import laluan tidak bermula dengan nama hos." Isu ini timbul apabila membina Fail Docker, berhasrat untuk menggunakan pakej setempat sebagai kebergantungan.

Untuk Fail Docker yang mudah, pengguna biasanya mencipta fail yang serupa dengan:

FROM golang:onbuild
EXPOSE 8080

Format ini mengikut pendekatan yang digariskan dalam artikel "Menetapkan Pelayan Go dengan Docker." Selepas menyepadukan kod daripada "git-go-websiteskeleton" sebagai sumber binaan, ralat berikut mungkin muncul:

import "git-go-websiteskeleton/app/common": import path does not begin with hostname
package git-go-websiteskeleton/app/common: unrecognized import path "git-go-websiteskeleton/app/common"
import "git-go-websiteskeleton/app/home": import path does not begin with hostname
package git-go-websiteskeleton/app/home: unrecognized import path "git-go-websiteskeleton/app/home"
import "git-go-websiteskeleton/app/user": import path does not begin with hostname
package git-go-websiteskeleton/app/user: unrecognized import path "git-go-websiteskeleton/app/user"

Punca asasnya ialah binaan aplikasi berlaku dalam bekas Docker, menuntut kebergantungan boleh diakses sepanjang proses.

Untuk membetulkan ralat ini, melampaui sintaks asas "golang:onbuild." Karang Dockerfile tersuai dengan langkah terperinci untuk membina aplikasi anda. Laraskan kandungan berdasarkan spesifikasi projek anda, berpotensi menggunakan struktur seperti:

FROM golang:1.6
ADD . /go/src/yourapplication
RUN go get github.com/jadekler/git-go-websiteskeleton
RUN go install yourapplication
ENTRYPOINT /go/bin/yourapplication
EXPOSE 8080

Ini mengubah suai Dockerfile untuk memasukkan kod sumber dan kebergantungan anda dalam bekas. Selepas itu, ia membina aplikasi anda, memulakan pelaksanaannya dan menetapkan port 8080 untuk akses luaran.

Atas ialah kandungan terperinci Mengapa Saya Menerima Ralat \'Laluan Import Tidak Bermula dengan Nama Hos\' Semasa Membina Imej Docker?. 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