在使用本地包构builddocker时,导入path不会以“hostname”开头

我试图build立一个本地包的docker,但得到错误'导入path不以主机名开始'。 如果我的理解是正确的,我的Dockerfile应该是

FROM golang:onbuild EXPOSE 8080 

基于这篇文章使用Docker部署Go服务器

我使用这个代码git-go-websiteskeleton作为构builddocker的源码。 完整的错误在这里。

导入“git-go-websiteskeleton / app / common”:导入path不以主机名开头
包git-go-websiteskeleton / app / common:无法识别的导入path“git-go-websiteskeleton / app / common”
导入“git-go-websiteskeleton / app / home”:导入path不以主机名开头
包git-go-websiteskeleton / app / home:无法识别的导入path“git-go-websiteskeleton / app / home”
导入“git-go-websiteskeleton / app / user”:导入path不以主机名开头
包git-go-websiteskeleton / app / user:无法识别的导入path“git-go-websiteskeleton / app / user”

谢谢你的帮助。

该应用程序在Docker容器内部构build,您需要在构build时使用您的依赖关系。

golang:onbuild为简单的情况提供了简洁的Dockerfiles,但是它不会获取你的依赖关系。

您可以使用构build应用程序所需的步骤编写自己的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 

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