现状
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