阅读量:3
在Debian上进行Golang的跨平台编译可以使用Docker和Docker Buildx插件。以下是具体步骤:
-
安装Docker和Docker Buildx:
- 安装Docker:
sudo apt-get update sudo apt-get install -y docker.io - 安装Docker Buildx插件:
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io
- 安装Docker:
-
启用Buildx功能:
- 启用环境变量:
export DOCKER_CLI_EXPERIMENTAL=enabled - 验证安装:
docker buildx version - 启用binfmt_misc(Mac跳过):
sudo docker run --rm --privileged docker/binfmt:66f9012c56a8316f9244ffd7622d7c21c1f6f28d - 验证安装:
ls /proc/sys/fs/binfmt_misc/qemu-aarch64
- 启用环境变量:
-
创建并使用多平台构建器:
- 创建构建器:
docker buildx create --use --name mybuilder - 启动构建器:
docker buildx inspect mybuilder --bootstrap
- 创建构建器:
-
构建多平台镜像:
- 使用以下Dockerfile进行测试:
FROM golang:1.19 MAINTAINER yourname WORKDIR $GOPATH/src/test ADD . . ENV GO111MODULE=on ENV GOPROXY="https://goproxy.io" RUN go build -o test_docker . EXPOSE 8080 ENTRYPOINT ["./test_docker"] - 构建镜像:
docker buildx build --platform=linux/arm64,linux/amd64 -t test_image:latest .
- 使用以下Dockerfile进行测试:
通过这些步骤,可以在Debian上使用Docker和Docker Buildx插件进行Golang的跨平台编译,从而生成适用于不同架构的可执行文件。
以上就是关于“Golang在Debian上的跨平台编译技巧”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm