環境
- Apple M2 13.4.1(22F82)
- Rancher Desktop Version: 1.8.1
- golang 1.20 (Dockerfile)
問題内容
以下のような Dockerfile を --platform linux/amd64
のオプションを付与してビルドするときに segmentation fault が発生した。
docker build ./ -t samle:latest --platform linux/amd64
Dockerfile
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"]
エラー内容
# runtime/cgo: gcc: signal: segmentation fault (core dumped)
解決策
CGO_ENABLED=0
を環境変数に設定することで発生しなくなり解決。
Dockerfile
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"]