Docker-打包多平台架构镜像

2024-08-30 11:29:27 浏览数 (3)

windows平台打包

安装Docker Desktop docs.docker.com

代码语言:javascript复制
docker build -f ./build/docker/Dockerfile --platform=linux/arm64,linux/amd64 -t csop:latest  .
代码语言:javascript复制
该命令将同时打出arm和amd镜像

Linux

参考:https://docs.docker.com/build/guide/multi-platform/

代码语言:javascript复制
vim /etc/docker/daemon.json

添加以下内容

代码语言:javascript复制
{
  "experimental": true, //低版本docker时需要添加此行
  "features": {
    "containerd-snapshotters": true
  }
}

重启docker服务

代码语言:javascript复制
systemctl daemon-reload
systemctl restart docker.service

安装模拟器

代码语言:javascript复制
apt-get install qemu qemu-user-static binfmt-support

老版本docker中,如果Dockerfile from的镜像已经在amd机器上存在,则不会去下载arm64镜像,打包出的镜像是amd64的。需要先下载对应平台的基础镜像,再使用docker build --platform=linux/arm64

0 人点赞