簡體   English   中英

從本地而​​不是git clone構建docker映像

[英]Build docker image from local instead of git clone

我已經在此問題上停留了一段時間,並且想要解決此問題的最佳實踐方法。

我已經在Go中構建了一個應用程序,希望通過Docker在AWS上發布。 我遵循有關如何設置它的AWS說明 ,但是當我嘗試構建命令時,出現以下錯誤:

Sending build context to Docker daemon 182.8 MB
Step 1/1 : FROM golang:1.8.1-onbuild
# Executing 3 build triggers...
Step 1/1 : COPY . /go/src/app
Step 1/1 : RUN go-wrapper download
 ---> Running in e6bc4dd7dc44
+ exec go get -v -d
github.com/<myaccount>/<myapp> (download)
# cd .; git clone https://github.com/<myaccount>/<myapp> 
/go/src/github.com/<myaccount>/<myapp>
Cloning into '/go/src/github.com/<myaccount>/<myapp>'...
fatal: could not read Username for 'https://github.com': No such device or address

我已經在Google上搜索了一下,看來這可能是由於回購設置為私人這一事實所致,我想保持這種狀態。 一種常見的方法似乎是在憑據中嵌入憑據或ssh密鑰以進行部署,這聽起來在安全性(甚至常識)方面違反任何建議。

有什么辦法我仍然可以這樣做嗎? 為什么它甚至首先嘗試克隆任何東西,而代碼已經存在?

編輯

Dockerfile僅包含以下行

FROM golang:1.8.1-onbuild

下載是您所使用映像中onbuild一部分。 您可以在此處查看其dockerfile 如果您不希望包含該步驟,請切換至FROM golang:1.8.1並在Dockerfile中執行復制和安裝步驟。 例如

FROM golang:1.8.1

RUN mkdir -p /go/src/app
WORKDIR /go/src/app

CMD ["go-wrapper", "run"]

COPY . /go/src/app
RUN go-wrapper install

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM