使用本地程序包构建docker时,错误'导入路径不以hostname'开头

pan*_*pol 14 go docker dockerfile

我正在尝试使用本地程序包构建一个docker但是得到错误'import path不以hostname'开头.如果我的理解是正确的,我的Dockerfile应该是正确的

FROM golang:onbuild
EXPOSE 8080
Run Code Online (Sandbox Code Playgroud)

基于本文使用Docker部署Go服务器

我使用此代码git-go-websiteskeleton作为构建docker的源代码.完整的错误在这里.

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"

谢谢你的帮助.

Nie*_*emi 2

该应用程序是在 docker 容器内构建的,构建时需要提供可用的依赖项。

golang:onbuild为简单情况提供紧凑的 Dockerfile,但它不会获取您的依赖项。

您可以使用构建应用程序所需的步骤编写自己的 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
Run Code Online (Sandbox Code Playgroud)

这会将您的源代码和依赖项添加到容器中,构建您的应用程序,启动它,并将其公开在端口 8080 下。