从本地而​​不是git clone构建docker镜像

时间:2017-04-25 14:34:07

标签: git amazon-web-services docker

我现在已经坚持了一段时间,并希望采用最佳实践方法解决这个问题。

我在Go中构建了一个应用程序,我希望在Dock上使用Docker发布。我正在关注如何设置AWS instructions,但是当我尝试构建命令时,我收到以下错误:

Group C

我用Google搜索了一下,看起来这可能是因为repo设置为private,我希望保持这种状态。一种常见的方法似乎是在图像中嵌入凭证或ssh密钥以进行部署,这听起来违反了安全性(甚至常识)方面的任何建议。

有什么方法可以做到这一点吗?为什么它首先尝试克隆任何东西,代码已经存在?

修改

Dockerfile只包含以下行

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

1 个答案:

答案 0 :(得分:1)

下载是您正在使用的图片中onbuild的一部分。你可以看到this how i'm suppose to calculate my turnover。如果您不希望包含该步骤,请切换到FROM golang:1.8.1并在Dockerfile中执行复制和安装步骤。 e.g。

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