由于执行go命令失败而无法创建图像

问题描述 投票:0回答:1

我正在尝试基于此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有关!

docker
1个回答
1
投票

首先需要安装所有必需的库,您可以从错误跟踪中找到它们。

使用此:

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"]
© www.soinside.com 2019 - 2024. All rights reserved.