standard_init_linux.go:185:exec用户进程导致“没有这样的文件或目录”构建docker镜像

时间:2018-05-22 01:25:23

标签: git docker go dockerfile

我正在尝试基于Go的二进制生成docker镜像。我有下一个Dockerfile:

FROM alpine

WORKDIR /

# Now just add the binary
RUN apk add --update bash && rm -rf /var/cache/apk/*
ADD mybinary /
ADD config /config
ADD data /data

ENTRYPOINT ["./mybinary"]

我通过以下方式构建了二进制文件:

env GOOS=linux GOARCH=386 CGO_ENABLED=1 go build -o mybinary

如果单独执行二进制文件,二进制文件工作得很好,并且也创建了docker镜像,但是在执行的那一刻我得到了错误:

 standard_init_linux.go:185: exec user process caused "no such file or directory"

我在很多帖子中读到这是关于git的东西,所以,我删除并再次克隆了该项目,但仍然得到了同样的错误

1 个答案:

答案 0 :(得分:2)

您的docker镜像从alpine linux dstro开始。因此,您应该使用受支持的cpu架构

GOARCH=amd64代替GOARCH=386

您可以在此处查看其他支持的体系结构。 https://hub.docker.com/r/library/alpine/

可以找到与其他建筑的高山码头图像的链接 这里https://github.com/docker-library/official-images#architectures-other-than-amd64