如何避免找不到包“ github.com/golang/protobuf/jsonpb”错误

时间:2018-11-02 13:12:57

标签: docker go

我想将代码放入docker容器中,创建了dockerfile,运行时出现错误

internal/server/handlers.go:16:2: cannot find package "github.com/lib/pq" in any of:
    /usr/local/go/src/github.com/lib/pq (from $GOROOT)
    /go/src/github.com/lib/pq (from $GOPATH)

但是当我通过键入go run main.go在没有docker的情况下在本地启动代码时

1 个答案:

答案 0 :(得分:0)

确保将所有软件包安装在容器中。因为您的Docker容器与当前计算机是另一台计算机。您需要确保在Docker映像中安装了所有依赖项程序包。对于Dockefile示例,请在Dockerfile上安装我的软件包,如下所示:

FROM golang:latest
# Create working folder
RUN mkdir /app
COPY . /app
RUN apt -y update && apt -y install git
RUN go get github.com/go-sql-driver/mysql
RUN go get github.com/gosimple/slug
RUN go get github.com/gin-gonic/gin
RUN go get gopkg.in/russross/blackfriday.v2
RUN go get github.com/gin-gonic/contrib/sessions
WORKDIR /app 

现在您运行docker run -it -p 8080:8080 your_docker_image_name go run main.go应该可以了。