使用 M2 Macbook,在 platform linux/amd64 下使用 golang 1.20 进行构建时会出现分段错误

环境

    • Apple M2 13.4.1(22F82)

 

    • Rancher Desktop Version: 1.8.1

 

    golang 1.20 (Dockerfile)

请将以下内容以中文进行释义:

在构建带有 –platform linux/amd64 选项的以下 Dockerfile 时,发生了分段错误。

docker build ./ -t samle:latest --platform linux/amd64
FROM golang:1.20 AS builder

WORKDIR /build
COPY . ./
RUN go mod download
RUN go build -trimpath -ldflags '-w -s' -o ./main

ENTRYPOINT ["/build/main"]

错误内容 (è cuò

# runtime/cgo: gcc: signal: segmentation fault (core dumped)                   

解决方案

通过将CGO_ENABLED设置为0来解决问题,不再出现。

FROM golang:1.20 AS builder

ENV CGO_ENABLED=0

WORKDIR /build
COPY . ./
RUN go mod download
RUN go build -trimpath -ldflags '-w -s' -o ./main

ENTRYPOINT ["/build/main"]
广告
将在 10 秒后关闭
bannerAds