0

我正在尝试使用 Docker 设置一个小型的第一次应用程序。我想使用 cli 工具进行 go-lang 迁移。但是我收到以下错误:

包 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)

该命令在 docker 之外运行良好。我对 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```
4

1 回答 1

0

我能够在 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而不是cliper this commit

于 2019-05-24T16:58:09.563 回答