首頁 > 後端開發 > Golang > 為什麼在建置 Docker 映像時收到「導入路徑不以主機名稱開頭」錯誤?

為什麼在建置 Docker 映像時收到「導入路徑不以主機名稱開頭」錯誤?

Mary-Kate Olsen
發布: 2024-11-03 16:57:30
原創
548 人瀏覽過

Why Am I Receiving a

Docker 建置錯誤:「匯入路徑不以主機名稱開頭」

當嘗試使用本機套件建置Docker 映像時,使用者可能會遇到錯誤「匯入路徑不以主機名稱開頭。

對於簡單的 Dockerfile,使用者通常會建立一個類似於以下內容的檔案:

FROM golang:onbuild
EXPOSE 8080
登入後複製

此格式遵循「使用 Docker 部署 Go 伺服器」一文中概述了方法。將「git-go-websitesculpture」中的程式碼集成為建置來源時,可能會出現以下錯誤:

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"
登入後複製

根本原因是應用程式建置發生在Docker 容器內,要求依賴項可存取

要修正此錯誤,請超越「golang:onbuild」的基本語法。編寫自訂 Dockerfile,其中包含建置應用程式的詳細步驟。根據專案的具體情況調整內容,可能使用以下結構:

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
登入後複製

這會修改 Dockerfile 以將原始程式碼和依賴項合併到容器中。隨後,它會建立您的應用程序,啟動其執行,並指定連接埠 8080 用於外部存取。

以上是為什麼在建置 Docker 映像時收到「導入路徑不以主機名稱開頭」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板