Repolode
losfair

losfair/bake

一个 Linux 命令行工具,可将 Firecracker 微虚拟机打包进单个可执行文件,运行时在 VM 中启动容器。

Star
483
Fork
19
未关闭 Issue
1
最近提交
9个月前

这是什么?

bake 可以把 Firecracker 微虚拟机(包括 firecracker 二进制、内核、initrd 和根文件系统镜像)打包进一个独立的 ELF 可执行文件。运行该文件会启动微虚拟机,并在其中执行容器入口程序,因此产物可以像普通二进制一样分发和运行。

工具还实现了不需要 root 权限的宿主机与虚拟机通信:网络通过 vsock 上的 SOCKS5 代理和 UDP 桥接完成,并可用 allowlist 限制允许访问的 IPv4 地址。目录可通过 9p 共享进虚拟机,宿主机 TCP 端口可用 -p 转发到虚拟机内;也支持传入 WireGuard 配置。

生成的程序还内置 ssh 子命令,用于连接正在运行的实例,以及 systemd 子命令用于输出服务单元。可选的 init 脚本能在虚拟机启动前执行预检查。

核心功能

  • 01将 firecracker、内核、initrd 和根文件系统嵌入同一个可执行文件。
  • 02无需 root 权限运行,网络通过 vsock 在用户态处理。
  • 03支持按 IPv4 地址或 CIDR 限制出站网络。
  • 04通过 9p 共享宿主机目录,并支持端口转发。
  • 05内置 ssh 子命令,可直接连接正在运行的实例。

适用场景

  • 将容器化应用打包为单个二进制,在隔离的微虚拟机中运行。
  • 在 Linux 主机上以非 root 方式运行不可信或需要沙箱隔离的任务。
  • 打包带有 WireGuard 隧道的服务,实现可控的网络访问。

标签

常见问题

bake 是什么?
一个 Linux 命令行工具,可将 Firecracker 微虚拟机打包进单个可执行文件,运行时在 VM 中启动容器。 bake 可以把 Firecracker 微虚拟机(包括 firecracker 二进制、内核、initrd 和根文件系统镜像)打包进一个独立的 ELF 可执行文件。运行该文件会启动微虚拟机,并在其中执行容器入口程序,因此产物可以像普通二进制一样分发和运行。
bake 可以免费使用吗?用的什么许可证?
bake 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
bake 还在维护吗?
超过半年未提交。bake 最近一次提交是在 2026年2月2日。
bake 适合用来做什么?
将容器化应用打包为单个二进制,在隔离的微虚拟机中运行。 在 Linux 主机上以非 root 方式运行不可信或需要沙箱隔离的任务。 打包带有 WireGuard 隧道的服务,实现可控的网络访问。
在哪里获取 bake?
源代码和安装说明在 GitHub 上:https://github.com/losfair/bake

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目