2017-10-25 12 views
2

ドックは何を私に説明できますか?go-wrapperは何をすべきですか?このコメント次 https://github.com/docker-library/golang/blob/master/go-wrapperdocker go-wrapperスクリプトはどのように動作しますか

このスクリプトは、私たちは などの移動のソースファイルの一般的なディレクトリを取ることを可能にする「//srcに/アプリを行く」と決定し、その標準的な「インポートパス」ここでその コードは生きることを期待しており、参照自体は "github.com/jsmith/my-cool-app"です。 "/go/src/github.com/jsmith/my-cool-app"が "/ go/src/app"へのシンボリックリンクであることを確認します。 これにより、適切なパッケージでビルドして実行できます名。

は、私はそれからの輸入が正しい(githubの輸入)横ばいで動作するドッキングウィンドウコンテナ内でそれ /go/src/appを装着経路を行く私は私の下でプロジェクトを開発していた場合GitHubのことを理解できますか?

COPY . /go/src/app 
WORKDIR /go/src/app 

RUN go-wrapper download 
RUN go-wrapper install 

しかし、私は、DEP

go get -u github.com/golang/dep/cmd/dep 
dep init 
dep ensure -update 

それはベンダーに私のレポをダウンロードし、それが理由でそこからそれをインポートしようとするを使用してベンダーと実行/インストールしようとすると?

+0

depのよくある質問をご覧ください。 Dockerをdepで使用する方法のサンプルがあります:https://github.com/golang/dep/blob/master/docs/FAQ.md#how-do-i-use-dep-with-docker –

答えて

0

私はdepに精通していないので、にコメントできません。あなたの問題の一部です。ただし、引用したテキストは正規のインポートパスに関連しており、正規のインポートパスを使用しているとは言いませんでした。正規のインポートパスを使用してgo-wrapperに引用符で説明したように動作させる必要があります。

あなたのパッケージが正規のインポートパスを持っていたら(のようなpackage main // import "github.com/user/projname")は、その後go-wrapperは、その特別なコメントを認識し、ドッキングウィンドウコンテナ内/go/src/appgo/src/github.com/user/projnameからシンボリックリンクを作成します。このシンボリックリンクにより、go-wrapper downloadgithub.com/user/projname/subpackageのようなサブパッケージをリモート(github.com)からダウンロードできなくなります。

この動作は、リモートにコミットする前にサブパッケージのローカル変更をテストしたいので、私がローカルで開発しているときに特に役に立ちます。 go-wrapperが私のためにシンボリックリンクしていないと、リモートに行き、それぞれのサブパッケージをダウンロードすることになります。つまり、ローカルで編集されたサブパッケージの代わりに古いバージョンが取得されます。

関連する問題