0
点赞
收藏
分享

微信扫一扫

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

生态人 2023-10-14 阅读 48

现状

 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 条评论