镜像构建
slime 支持子模块单独构建镜像,也支持构建一个包含全部功能的bundle镜像, 以下分两个部分介绍slime镜像构建
注意:为了支持多架构镜像,slime用buildx构建镜像, 所以需要所在机器支持docker buildx
子模块单独构建镜像¶
构建amd64镜像¶
切换至子模块所在目录,如限流模块所在目录 slime/staging/src/slime.io/slime/modules/limiter
note: 对于 global-sidecar, 需要切换至slime/staging/src/slime.io/slime/modules/lazyload/cmd/proxy
运行以下命令构建amd64镜像
./publish.sh build image
运行以下命令构建arm64镜像
TARGET_GOARCH=arm64 ./publish.sh build image
以上命令中使用到了publish脚本,它提供了以下参数 build
,image
,image-push
和ALL
-
build: 用于构建可执行文件
-
image: 用于在本地出镜像,可以修改
slime/bin/publish
中的默认的hub
地址 -
image-push: 将镜像推送至镜像仓库
-
ALL: 以上三个个步骤的结合
如,构建镜像并推至默认厂库
./publish.sh build image image-push
# 等同于 ./publish.sh ALL
构建多架构镜像¶
切换至子模块所在目录,运行以下命令构建多架构镜像,默认hub地址在 slime/bin/publish.sh
中定义
./publish.sh publish amd64 arm64
构建包含全部功能的slime镜像¶
构建amd64镜像¶
切换至 slime/staging/src/slime.io/slime/modules/bundle-all 目录, 运行以下命令构建bundle的amd64镜像
./publish.sh build image
构建多架构镜像¶
切换至 slime/staging/src/slime.io/slime/modules/bundle-all 目录,运行以下命令构建多架构镜像
./publish.sh publish amd64 arm64