0
点赞
收藏
分享

微信扫一扫

linux上构建任意版本的rocketmq多架构x86 arm镜像——筑梦之路

生态人 2023-10-14 阅读 46

现状

 rocketmq官方网站:RocketMQ · 官方网站 | RocketMQ

关于rocketmq的介绍请阅读官方文档,这里就不做过多赘述。

前提条件

准备工作

编写构建脚本build-image.sh

# 构建镜像的脚本

#!/usr/bin/env bash

checkVersion() {
echo "Version = $1"
echo $1 |grep -E "^[0-9]+\.[0-9]+\.[0-9]+" > /dev/null
if [ $? = 0 ]; then
return 1
fi

echo "Version $1 illegal, it should be X.X.X format(e.g. 4.5.0), please check released versions in 'https://archive.apache.org/dist/rocketmq/'"
exit -1
}

if [ $# -lt 2 ]; then
echo -e "Usage: sh $0 Version BaseImage"
exit -1
fi

ROCKETMQ_VERSION=$1

BASE_IMAGE=centos

checkVersion $ROCKETMQ_VERSION

# Build rocketmq
case "${BASE_IMAGE}" in
centos)
docker run --privileged --rm harbor.codemiracle.com.cn/baseapp/binfmt:latest --install all
docker buildx create --use --name=mybuilder-rocketmq --driver docker-container --driver-opt image=harbor.codemiracle.com.cn/baseapp/buildkit:master
docker buildx build --no-cache -f Dockerfile-centos --platform=linux/amd64,linux/arm64 -t harbor.codemiracle.com.cn/baseapp/rocketmq:${ROCKETMQ_VERSION} --build-arg version=${ROCKETMQ_VERSION} . --push
docker buildx rm mybuilder-rocketmq
;;
*)
echo "${BASE_IMAGE} is not supported, supported base images: centos"
exit -1
;;
esac

如何构建

参考资料:

GitHub - apache/rocketmq-docker: Apache RocketMQ Docker

举报

相关推荐

0 条评论