【发布时间】:2018-09-29 13:31:44
【问题描述】:
我正在尝试 docker build -t test_1 。 ,但是有这个错误:
包 docker_test/mult:无法识别的导入路径“docker_test/mult” (导入路径不以主机名开头)
命令 '/bin/sh -c go get -d -v ./...' 返回一个非零代码:1
我的 dockerfile(路径 /gowork/src/Dockerfile):
FROM golang:1.9.1
COPY ./docker_test/mult /go/src/app
WORKDIR go/src/app
COPY ./docker_test/main.go .
RUN go get -d -v ./...
RUN go install -v ./...
CMD ["app"]
ENTRYPOINT ["app", "-f=7", "-s=9"]
main.go(路径:gowork/src/docker_test/main.go)
package main
import (
"docker_test/mult"
"fmt"
)
func main() {
fmt.Println("From different pkg")
mult.Multiple()
}
mult.go(路径:gowork/src/docker_test/mult/mult.go)
package mult
import (
"flag"
"fmt"
)
func Multiple() {
first := flag.Int("f", 0, "placeholder")
second := flag.Int("s", 0, "placeholder")
flag.Parse()
out := (*first) * (*second)
fmt.Println(out)
}
【问题讨论】:
-
您可以尝试将您的第一个副本更改为
COPY ./docker_test /go/src/docker_test,如果它有效,那么我将在我的回答中解释它为什么有效。 -
现在错误是:
go install: no install location for directory /go/go/src/app outside GOPATH For more details see: 'go help gopath' The command '/bin/sh -c go install -v ./...' returned a non-zero code: 1
标签: docker go docker-build