2017-12-20 9 views
-1

私はGoアプリケーションをビルドしています。私はドッカーファイルgolang build

以下のCDのようなエラーを取得しています。; gitのクローン https://github.com/julienschmidt/httprouter /go/src/github.com/julienschmidt/httprouter

へのクローニング '/go/src/github.com/julienschmidt/httprouter' ...致命的な: アクセス 'https://github.com/julienschmidt/httprouter/' にできない:ことができませんでした 解決ホスト:github.comパッケージgithub.com/julienschmidt/httprouter:1

ドッキングウィンドウ: './取りに行く-c/binに/ shの' 終了ステータス128 コマンドがゼロ以外のコードを返さファイル。 1.0:

.... 

    # install dependencies first 
    RUN go get ./ 


    RUN go build 


    CMD if [ ${APP_ENV} = production ]; \ 
     then \ 
     main; \ 
     else \ 
     go get github.com/pilu/fresh && \ 
     fresh; \ 
     fi 

    EXPOSE 8080 

ビルドコマンド

ドッキングウィンドウの画像は、-tテストを構築します。

ありがとうございました。助けてください?

+0

は 'ホストを解決できませんでした:github.comパッケージgithub.com/julienschmidt/httprouter:終了ステータス128は、'これは明らかにあなたのドッキングウィンドウはgithubのドメイン(DNS)へのルートを見つけることができないと言います。つまり、コンテナにインターネット接続がない可能性があります。あなたはあなたのiptablesを見て、ドッカーグループがここにいることを確認できますか? –

+0

私はこれがhttps rsaキーで何かであることを発見しました。私はドッカー内のビルドを削除する予定です。 –

答えて

3
  1. チェックDNSサーバー
  2. チェックインターネット接続
  3. あなたは、フォルダ内のスクリプトを使用してリポジトリのクローンを作成した後、ドッキングウィンドウにフォルダをコピーして、プロジェクトをビルドすることができます。例

    FROM golang:1.9 as builder 
    RUN mkdir -p /go/src/folder 
    WORKDIR /go/src/folder  
    COPY src/ . 
    RUN go get -d 
    RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -o app .  
    
    
    
    FROM alpine:latest 
    WORKDIR/
    COPY --from=builder /go/src/folder/app . 
    CMD ["/app"] 
    
+0

ありがとうございます。私はdockerfileのディレクトリの外にいくつかのライブラリを持っています。どのようにそれらをコピーして構築することができます。 ?私は親ディレクトリをコピーできないと思います。どんなやり方? –