>我正在尝试基于此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"]