メインパッケージと認証パッケージを持つgoアプリケーションをビルドしました。認証パッケージはメインファイルにインポートされます。次のようなディレクトリ構造は、Dockerビルドがローカルのパッケージインポートで失敗する
で、次のようにドッキングウィンドウのファイルの内容は、
FROM golang
COPY ./ /Users/venkat/go/src/github.com/Athavankanapuli/interflow_api/loginservice/app
WORKDIR /Users/venkat/go/src/github.com/Athavankanapuli/interflow_api/loginservice/app
RUN go get github.com/go-kit/kit/endpoint
RUN go get golang.org/x/oauth2
RUN go get github.com/go-kit/kit/endpoint
RUN go get gopkg.in/mgo.v2/bson
RUN go install ./...
RUN go build
EXPOSE 8080
CMD [ "./app" ]
ドッキングウィンドウが正常にすべての輸入を行いますが、認証パッケージを読み取りに失敗しました。 $ GOPATHはを参照/ユーザ/ヴェンカト/行く ターミナルコマンドドッキングウィンドウは、-tインターを構築します。は、次のエラー出力、このエラーを修正し、ローカル認証パッケージがビルドに含まれますにする方法
を与えますか?あるいは、適切なビルドのためのドッカーファイルを書くための他の良い方法がありますか?
ご協力いただければ幸いです。
があなたのビルド/容器内の '$ GOPATH'を設定しました、またはそれだけに設定されています。しかし、代わりに環境変数を設定するので、私は画像が想定GOPATHの値を使用して、代わりにお勧めしますあなたのラップトップ? – BMitch
ENV GOPATHを使用してdockerfileに$ GOPATHを設定しても、ラップトップ –
@BMitchにのみ設定されていますが、fmtなどの標準ライブラリパッケージでインポートエラーが発生します –