【发布时间】:2019-03-25 17:49:25
【问题描述】:
我尝试为我的 Golang 应用程序创建一个映像,但 Docker 只写:
Step 7/9 : RUN go install ./accounting/server
---> Running in f998ba6a5efb
can't load package: package grpcProjects/multiService/accounting/server: cannot find package "grpcProjects/multiService/accounting/server" in any of:
/usr/local/go/src/grpcProjects/multiService/accounting/server (from $GOROOT)
/go/src/grpcProjects/multiService/accounting/server (from $GOPATH)
我的 Dockerfile:
FROM golang:1.10.4
ADD . /go/src/grpcProjects/multiService
WORKDIR /go/src/grpcProjects/multiService
RUN go get github.com/golang/protobuf/proto
RUN go get golang.org/x/net/context
RUN go get google.golang.org/grpc
RUN go install ./accounting/server
ENTRYPOINT [ "/go/bin/server" ]
EXPOSE 8080
项目结构:
如何解决这个问题?
【问题讨论】:
-
当您在本地运行此命令
go install ./accounting/server时,它对您有用吗? -
@Nik 是的,确实如此。
-
可能你想在 Dockerfile 中用 COPY 命令替换 ADD 并检查是否有任何 .dockerignore 文件阻止复制服务器包。
标签: docker go dockerfile