【发布时间】:2015-06-28 18:23:36
【问题描述】:
我正在尝试使用本地包构建 docker,但收到错误“导入路径不以主机名开头”。如果我的理解是正确的,我的 Dockerfile 应该只是
FROM golang:onbuild
EXPOSE 8080
基于本文Deploying Go servers with Docker
我使用此代码 git-go-websiteskeleton 作为构建 docker 的源代码。完整的错误在这里。
导入“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-websiteskeleton/app/user”:导入路径不以主机名开头 包 git-go-websiteskeleton/app/user:无法识别的导入路径“git-go-websiteskeleton/app/user”感谢您的帮助。
【问题讨论】:
-
您是否按照自述文件中的说明进行操作?
git-go-websiteskeleton不在你的 GOPATH 中。 -
@JimB 如果您的意思是在我的开发机器中,我可以很好地运行该项目。仅在尝试构建 docker 时遇到问题。
-
那你如何将 git-go-websiteskeleton 添加到图像中?向我们展示你所做的一切,这样我就不必猜测了。
-
谢谢@JimB。我的问题可能不够清楚。这就是我所做的。我将项目克隆到我的 src 文件夹并运行 main.go ,它工作正常。我可以在我的机器上浏览到 localhost:8080。然后我创建了一个 Dockerfile,里面只有“FROM golang:onbuild EXPOSE 8080”。然后我运行命令“docker build -t git-go-websitesskeleton”。然后我得到了错误。我对 docker 很陌生,但我认为我需要在 Dockerfile 中添加更多指令。我只是不太确定,因为link 说我只能添加这个“FROM golang:onbuild EXPOSE 8080”。
-
您也需要了解 onbuild dockerfile 在做什么。您不需要它,最好在您更好地了解发生的情况之前停止使用它。
标签: go docker dockerfile