我想把我的代码放在一个 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)但是当我在没有 docker 的情况下通过键入 go run main.go 在本地启动我的代码时,一切都很好
1 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
确保将所有包安装在容器内。因为你的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应该工作。
- 1 回答
- 0 关注
- 149 浏览
添加回答
举报
0/150
提交
取消