本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

debos 是一款用于简化各类基于Debian的操作系统(OS)镜像创建的工具。与其他专注于特定用例的工具不同,debos 更侧重于作为工具链,使常见操作变得简单,同时提供足够的灵活性以满足幕后可能需要的任何调整。debos 以YAML文件作为输入,按顺序执行文件中列出的操作,这些操作均为自包含且相互独立。
debos 通过YAML配方文件中的操作(actions)实现镜像定制,主要支持以下操作:
apt 安装软件包及其依赖完整的操作语法说明可参考:[***]
-t 选项)和环境变量(通过 -e 选项)定制--debug-shell)、资源配置(--cpus、--memory)等适用于需要创建定制化基于Debian的操作系统镜像的场景,例如:
***Docker容器可用:
docker pull godebos/debos
使用说明参见 docker/README.md。
sudo apt install golang git libglib2.0-dev libostree-dev qemu-system-x86 \ qemu-user-static debootstrap systemd-container export GOPATH=/opt/src/gocode # 或其他适合你的路径 go get -u github.com/go-debos/debos/cmd/debos /opt/src/gocode/bin/debos --help
以下示例将创建一个arm64架构镜像,安装多个软件包,修改 /etc/hostname 为 "debian",并最终生成tarball。
创建 example.yaml 文件:
{{- $image := or .image "debian.tgz" -}} architecture: arm64 actions: - action: debootstrap suite: "buster" components: - main - non-free mirror: [***] variant: minbase - action: apt packages: [ sudo, openssh-server, adduser, systemd-sysv, firmware-linux ] - action: run chroot: true command: echo debian > /etc/hostname - action: pack file: {{ $image }} compression: gz
运行构建命令:
debos example.yaml
默认生成的tarball名为 debian.tgz,如需修改名称,可通过模板变量指定:
debos -t image:"debian-arm64.tgz" example.yaml
构建树莓派3定制化镜像的示例可参考:[***]
基本命令格式:
debos [选项] <YAML配方文件> debos [--help]
主要选项:
-b, --fakemachine-backend=:指定fakemachine后端(默认:auto)--artifactdir=:打包归档和ostree仓库的目录(默认:当前目录)-t, --template-var=:模板变量(使用 -t 变量:值 语法)--debug-shell:出错时进入交互式shell-s, --shell=:重新定义交互式shell二进制文件(默认:/bin/bash)--scratchsize=:磁盘支持的临时空间大小-c, --cpus=:构建VM使用的CPU数量(默认:2)-m, --memory=:构建VM的内存大小(默认:2048MB)--show-boot:显示fakemachine的启动/控制台消息-e, --environ-var=:环境变量(使用 -e 变量:值 语法)-v, --verbose:详细输出--print-recipe:打印最终配方--dry-run:生成最终配方但不执行实际构建--disable-fakemachine:不使用fakemachinedebos从主机读取预定义的环境变量列表并传播到fakemachine,当前包含代理相关变量:http_proxy, https_proxy, ftp_proxy, rsync_proxy, all_proxy, no_proxy。
HTTP_PROXY 和 no_proxy 都会被传播)。-e, --environ-var 选项可指定、覆盖或取消环境变量,语法:debos -e 变量:值 ...。-e 变量(不带值),支持同时指定多个 -e。代理环境变量会从主机传播到fakemachine,但存在以下已知问题:
默认情况下(除非使用 --disable-fakemachine),debos通过 fakemachine 创建并启动虚拟机,在其中执行配方定义的操作,确保配方在不同主机环境下的可重复性。
--fakemachine-backend 选项覆盖。更多fakemachine后端信息参见 fakemachine仓库文档。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429