目次
![pexels-photo-4099237.jpeg](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fai4vjpehjr3j%2F3Z4OZYlpH6By3g6Kf0qSqV%2F00d8f97705329b78df989b8dac0fbcc3%2Fpexels-photo-4099237.jpeg&w=1920&q=75)
ラズパイ向けにCGO_ENABLEDしながらGoをクロスコンパイルするDockerfile例
![Kazuki Moriyama](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fai4vjpehjr3j%2F2Oa6QzkYOe51LQiER7VEtN%2F6e819c38a98a1c649401b86861c40d53%2Fimage.png&w=96&q=75)
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という名前でクロスコンパイルされる