我正在尝试基于此dockerfile创建映像:
https://github.com/99designs/aws-vault/blob/master/Dockerfile
这是我遵循的3个步骤:
git clone https://github.com/99designs/aws-vault.git
cd aws-vault/
docker build . --disable-content-trust -t shantanuo/pm
收到此错误:
The command '/bin/sh -c go build -a -tags netgo -ldflags '-w' -o /bin/aws-vault' returned a non-zero code: 1
虽然不确定此问题是否与go语言或docker有关!
首先需要安装所有必需的库,您可以从错误跟踪中找到它们。
使用此:
FROM golang:1.9.2 AS build-env
ENV CGO_ENABLED=0 \
GOOS=linux \
GOARCH=amd64
WORKDIR /go/src/github.com/99designs/aws-vault
ADD . /go/src/github.com/99designs/aws-vault
RUN go get github.com/99designs/keyring \
github.com/aws/aws-sdk-go/aws \
github.com/aws/aws-sdk-go/aws/awserr \
github.com/aws/aws-sdk-go/aws/credentials \
github.com/aws/aws-sdk-go/aws/session \
github.com/aws/aws-sdk-go/service/iam \
github.com/aws/aws-sdk-go/service/sts \
github.com/mitchellh/go-homedir \
github.com/skratchdot/open-golang/open \
golang.org/x/crypto/ssh/terminal \
gopkg.in/alecthomas/kingpin.v2 \
gopkg.in/ini.v1
RUN go build -a -tags netgo -ldflags '-w' -o /bin/aws-vault
FROM alpine
COPY --from=build-env /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
COPY --from=build-env /bin/aws-vault /aws-vault
ENTRYPOINT ["/aws-vault"]