0
我一直在这个问题上停留了一段时间,并且希望对此问题采取最佳实践方法。从本地建立码头图像而不是git克隆
我在Go中构建了一个应用程序,我想用Docker在AWS上发布。我下面就如何设置它,但是当我尝试构建命令,我收到以下错误AWS instructions:
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
如果将源复制到GOPATH中,则不需要克隆回购。你如何准确地建立这个? – JimB
请包含您的Dockerfile。 – Flimzy
当你已经有文件时,你为什么要运行'go-wrapper download'? – BMitch