【发布时间】:2018-12-15 14:49:48
【问题描述】:
我对 GoLang 还是很陌生。我有一个非常简单的 dockerFile,它正在尝试构建一个 goLang 网络服务。
FROM golang:alpine
WORKDIR /app/webservice_refArch
ADD . /app/webservice_refArch
RUN apk add git
RUN apk upgrade
RUN cd /app/webservice_refArch/ && go get webservice_refArch/restapi
RUN cd /app/webservice_refArch/cmd/reference-w-s-server && go build -o ../../server
ENTRYPOINT ./goapp
构建运行时找不到本地导入。
go get webservice_refArch/restapi
我得到的错误是:
package webservice_refArch/restapi: 无法识别的导入路径 “webservice_refArch/restapi”(导入路径不以 主机名)
当我在本地(在同一个文件夹中)运行相同的命令时,它运行得很好。我确信我遗漏了一些愚蠢的东西,但是任何关于从 docker 运行时为什么会失败的想法都将不胜感激。
【问题讨论】:
-
使用正确的导入路径。不要与工具作斗争。
-
谢谢 Flimzy。我不知道我是否理解评论。我当然不想“与工具作斗争”,但我可能不明白我是如何/为什么。本地导入正在拉入同一 github 存储库中的包。如果我将它们放在单独的 github 存储库中,那么在构建之前将需要多次提交到 github。这似乎是一种糟糕的开发体验。你能详细说明你的评论吗?
标签: docker go dockerfile