Go 错误';导入路径不以主机名';使用本地包构建docker时

Go 错误';导入路径不以主机名';使用本地包构建docker时,go,docker,dockerfile,Go,Docker,Dockerfile,我正在尝试使用本地包构建docker,但出现错误“导入路径不以主机名开头”。如果我的理解是正确的,我的Dockerfile应该是 FROM golang:onbuild EXPOSE 8080 基于本文 我使用此代码作为构建docker的源代码。完全错误就在这里 import "git-go-websiteskeleton/app/common": import path does not begin with hostname package git-go-websiteskeleton/a

我正在尝试使用本地包构建docker,但出现错误“导入路径不以主机名开头”。如果我的理解是正确的,我的Dockerfile应该是

FROM golang:onbuild
EXPOSE 8080
基于本文

我使用此代码作为构建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" 导入“git go websiteskeleton/app/common”:导入路径不以主机名开头 包git go websiteskeleton/app/common:无法识别的导入路径“git go websiteskeleton/app/common” 导入“git go websiteskeleton/app/home”:导入路径不以主机名开头 包git go websiteskeleton/app/home:无法识别的导入路径“git go websiteskeleton/app/home” 导入“git go网站骨架/app/user”:导入路径不以主机名开头 包git go websiteskeleton/app/user:无法识别的导入路径“git go websiteskeleton/app/user”
感谢您的帮助。

应用程序是在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
这会将源代码和依赖项添加到容器中,构建应用程序,启动它,并在端口8080下公开它。

尝试:

FROM golang:latest
RUN mkdir /go/src/app
WORKDIR /go/src/app
ADD ./HelloWorld.go ./
RUN go get
RUN go build -o main .
CMD ["/go/src/app/main"]

你按照自述中的说明做了吗
GitGoWebSiteSkeleton
不在您的GOPATH中。@JimB如果您是说在我的开发机器中,我可以很好地运行该项目。只是在尝试构建docker时出现问题。那么如何将git go网站骨架添加到映像中?让我们看看你正在做的一切,这样我就不用猜了。谢谢@JimB。我的问题可能不够清楚。我就是这么做的。我将项目克隆到我的src文件夹中,然后运行main.go,它可以正常工作。我可以在我的机器上浏览到localhost:8080。然后我创建了一个Dockerfile,里面只有“FROM golang:onbuild EXPOSE 8080”。然后我运行命令“docker build-t git go websitesskeleton”,然后我得到了错误。我对docker很陌生,但我认为我需要在docker文件中添加更多指令。我只是不太确定,因为上面说我只能添加这个来自golang:onbuild EXPOSE 8080的“”。你也需要了解onbuild dockerfile在做什么。你不需要它,也许最好停止使用它,直到你更好地了解正在发生的事情。