Как избежать не могу найти ошибку пакета "github.com/golang/protobuf/jsonpb" - PullRequest
0 голосов
/ 02 ноября 2018

Я хочу поместить свой код в 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 все нормально

1 Ответ

0 голосов
/ 02 ноября 2018

Убедитесь, что вы установили весь свой пакет внутри контейнера. Потому что ваш док-контейнер - это другой компьютер с вашим текущим компьютером. Вы должны убедиться, что все зависимости пакета установлены в вашем образе докера. Для примера 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 должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...