ARM架构docker打包x86架构镜像
打包并推送至 docker 镜像仓库脚本, 以下以springboot为例。docker版本19.03之后添加 buildx , 可构建多架构镜像。
·
buildx
docker版本19.03之后添加 buildx , 可构建多架构镜像
构建
build时添加参数: buildx --platform=linux/amd64
docker buildx build --platform=linux/amd64 -t [image-name] .
查看镜像版本
docker inspect [image-name] | grep Arch
打包并推送至 docker 镜像仓库脚本, 以下以springboot为例
#!/usr/bin/env bash
# 删除已经生成的文件夹
rm -rf target
# 拼接镜像完整路径
version="latest"
path="registry.cn-beijing.aliyuncs.com/dev/test-service"
if [ -z $1 ]; then
version="latest"
else
version=$1
path="registry.cn-beijing.aliyuncs.com/prod/test-service"
fi
# 输出镜像路径
echo '================================================================================================'
echo 'IMAGE: '$path
echo 'TAG: '${version}
echo '================================================================================================'
# 编译
mvn clean package -Dmaven.test.skip=true
# 生成amd64平台镜像
docker buildx build --platform=linux/amd64 -t ${path}:${version} .
docker push ${path}:${version}
docker rmi ${path}:${version}
echo '执行成功!' $(date "+%Y-%m-%d %H:%M:%S")
运行脚本
保存至项目目录中 文件名为:
push-docker.sh
, 赋予权限chmod +x push-docker.sh
- 运行
$ ./push-docker.sh
则生成的镜像为:registry.cn-beijing.aliyuncs.com/dev/test-service:latest
- 可带参运行
$ ./push-docker.sh 1.0.0
则生成的镜像为:registry.cn-beijing.aliyuncs.com/prod/test-service:1.0.0
更多推荐
所有评论(0)