我想把我的代碼放在一個 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 關注
- 193 瀏覽
添加回答
舉報
0/150
提交
取消