Skip to main content

如何构建

构建准备工作

大禹系统的构建依赖 docker buildx 构建多架构镜像,从而适配云/边异构设备,你可参照 安装 Docker Buildx 来安装 Docker Buildx。

构建系统组件

大禹系统中的组件依赖于 Docker 容器,因此,如果您需要自定义大禹系统组件,您应该构建指定的镜像。

官方大禹系统的 Docker 镜像图片位于dockerhub/dayuhub

设置 Docker 构建元信息:

# 配置 buildx buildkitd (默认为空,示例在 hack/resource/buildkitd_template.toml)
# http 源连接可以在 buildkitd.toml 中配置
vim hack/resource/buildkitd.toml

# 配置 buildx driver-opt (默认为空,样例在 hack/resource/driver_opts_template.toml)
# 网络代理可以在 driver_opts.toml 中配置
vim hack/resource/driver_opts.toml

# 设置 Docker 镜像元信息
# 默认 REG 是 docker.io
# 默认 REPO 是 dayuhub
# 默认 TAG 是 https://github.com/dayu-autostreamer/dayu/releases/ 中的最新release号
# 如果不想使用默认值,请在下面 export 对应变量
export REG=xxx
export REPO=xxx
export TAG=xxx

构建所有镜像:

make all

构建指定镜像:

# xxx/yyy/zzz/... 指需要构建的组件名(如 scheduler,backend,frontend),你可以选择组件来构建
make build WHAT=xxx,yyy,zzz...

注意:如果您更改配置文件(buildkitd.toml/driver_opts.toml),请在 make 之前删除 buildx creator。 当您在构建docker时遇到错误时,也建议尝试删除 buildx creator 以修复错误。

# 查看所有 buildx creator.
docker buildx ls

# 删除 dayu-buildx,他会在下次 make 时自动重新生成。
docker buildx stop dayu-buildx
docker buildx rm dayu-buildx