我正在尝试使用-race从go stretch开始构建,然后将其复制到小的高山容器中以减小最终大小。但我在启动过程中遇到了这个错误:
standard_init_linux.go:211: exec user process caused "no such file or directory"
我的Dockerfile:
FROM golang:1.12.6-stretch as build-env
WORKDIR /goman/
ADD . .
RUN GOFLAGS=-mod=vendor go test -race -v ./...
RUN CGO_ENABLED=0 GOBIN=/goman/apps/ GOOS=linux GOARCH=amd64 go install -v \
-a -tags netgo -installsuffix netgo -mod vendor -ldflags "-d -s -w" ./cmd/...
FROM alpine:3.10
RUN apk add --no-cache ca-certificates tzdata
COPY --from=build-env /goman/apps/ /apps
COPY --from=build-env /goman/conf /conf
WORKDIR /apps/
在容器中可以清楚地看到文件,权限是正确的
发布于 2019-07-23 13:28:17
尝试使用go build
而不是go install
。在这种情况下,我认为,您只需要从源代码构建可执行文件,而不是安装和构建远程可执行文件。
https://stackoverflow.com/questions/57106394
复制相似问题