目次
ラズパイ向けにCGO_ENABLEDしながらGoをクロスコンパイルするDockerfile例
Kazuki Moriyama (森山 和樹)
Dockerfile
FROM golang:buster
ARG wdir="/sample"
COPY . ${wdir}
WORKDIR ${wdir}
RUN apt-get update && apt-get upgrade && apt-get -y install g++-arm-linux-gnueabihf && \\
go install
ENV CC arm-linux-gnueabihf-gcc
ENV GOOS linux
ENV GOARCH arm
ENV GOARM 7
ENV CGO\_ENABLED 1
CMD \["go", "build", "-o", "sample\_bin"\]
docker-compose.yml
version: "3.0"
services:
compiler:
build: .
volumes:
- .:/sample
使い方
docker-compose up compiler // => sample\_binという名前でクロスコンパイルされる