иди и получи golang-migrate внутри ошибки докера - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь настроить небольшое первое приложение в Go, используя Docker. Я хочу использовать инструменты cli для перехода на новый язык. Однако я получаю следующую ошибку:

пакет github.com/golang-migrate/migrate/v4/internal/cli: не удается найти пакет "github.com/golang-migrate/migrate/v4/internal/cli" в любом из следующих компонентов: /usr/local/go/src/github.com/golang-migrate/migrate/v4/internal/cli (из $ GOROOT) /go/src/github.com/golang-migrate/migrate/v4/internal/cli (из $ GOPATH)

Команда отлично работает вне докера. Я запутался в настройке моего Dockerfile, похоже, моя GOPATH тоже в порядке.

У меня есть Dockerfile со следующими строками:


RUN apk --update add alpine-sdk

WORKDIR $GOPATH/src/github.com/go-projects/docker-test/

RUN echo $GOPATH

RUN go get -u -d github.com/golang-migrate/migrate/cli github.com/lib/pq```

1 Ответ

0 голосов
/ 24 мая 2019

Мне удалось заставить это работать в контейнере Docker со следующим:

FROM golang:1.12rc1-alpine3.9 AS build  # or replace with your desired build

RUN apk --update add alpine-sdk

COPY . $GOPATH/src/github.com/go-projects/docker-test/

WORKDIR $GOPATH/src/github.com/go-projects/docker-test/

RUN echo $GOPATH

RUN go get -u -d github.com/golang-migrate/migrate github.com/lib/pq

Кроме того, предлагается использовать cmd/migrate вместо cli на thisсовершить

...