go – 当使用本地软件包构建docker时,错误’导入路径不以主机名开头“

我正在尝试使用本地软件包构建一个docker,但是收到错误’import path不以主机名开头’.如果我的理解是正确的,我的Dockerfile应该是正确的

FROM golang:onbuild
EXPOSE 8080

基于这篇文章Deploying Go servers with Docker

我使用这个代码git-go-websiteskeleton作为构建泊坞窗的源头.完整的错误在这里.

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为简单的案例提供了紧凑的Dockerfiles,但它不会获取您的依赖关系.

您可以使用构建应用程序所需的步骤编写自己的Docker文件.根据你的项目的外观,你可以使用这样的东西:

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下.

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...