2016-04-09 8 views
2

ドッキングステーションには新しく、単純なゴーアプリケーション用のドッキングコンテナを作ろうとしています。私はGodepを依存関係管理に使用しています。ここでゴッペがドッカーコンテナで動作しない

は私Dockerfileです:

FROM pottava/golang:1.5 

RUN go get github.com/tools/godep \ 
     && rm -rf /go/pkg /go/src 

ADD ./ /go 

ENV GOPATH /go 
RUN godep go build -v -o ./bin/main ./src/main.go 

私はイメージを構築しようとした際、私は次のエラーを取得する:

... 
---> 5cb6dd001eb3 
Removing intermediate container 15eb0b298adb 
Step 5 : ENV GOPATH /go 
---> Running in 1c0043c3e963 
---> 6cd0498af200 
Removing intermediate container 1c0043c3e963 
Step 6 : RUN godep go build -v -o ./bin/main ./src/main.go 
---> Running in af2386d13c9a 
godep: [WARNING]: godep should only be used inside a valid go package directory and 
godep: [WARNING]: may not function correctly. You are probably outside of your $GOPATH. 
godep: [WARNING]: Current Directory: /go 
godep: [WARNING]: $GOPATH: /go 
src/main.go:18:2: cannot find package "github.com/Sirupsen/logrus" in any of: 
    /usr/local/go/src/github.com/Sirupsen/logrus (from $GOROOT) 
    /go/Godeps/_workspace/src/github.com/Sirupsen/logrus (from $GOPATH) 
    /go/src/github.com/Sirupsen/logrus 
... 

答えて

0

あなたがGOPATHを設定した場合、あなたはgo workspaceを定義することを意味し

"有効なパッケージで" godepを実行すると、

0123で実行されます。
$GOPATH/src/a/package 

にクローンされている既存のgoプロジェクト内で必ずgodepを実行してください。

シンプルなテスト:コンピュータ上で同じコマンドを実行します(ドッカーイメージが作成されていない状態で)。動作しているときは、ドッカーファイルにセットアップとコマンドを再現します。

関連する問題