Skip to content

快速参考

  • 由……维护
    Docker 社区

  • 何处获取帮助:
    Docker 社区 Slack、服务器故障、Unix & Linux 或 Stack Overflow

支持的标签及相应的 Dockerfile 链接

快速参考(续)

什么是 BusyBox?嵌入式 Linux 的瑞士军刀

在磁盘大小上介于 1 到 5 Mb 之间(取决于变体),BusyBox 是制作空间高效的发行版的非常好的成分。

BusyBox 将许多常见 UNIX 实用程序的微型版本组合成一个单独的小型可执行文件。它为通常在 GNU 文件工具、shell 工具等中找到的大多数实用程序提供替代品。BusyBox 中的实用程序通常比其功能齐全的 GNU 同类程序具有更少的选项;然而,所包含的选项提供了预期的功能,并且其行为非常类似于它们的 GNU 对应程序。BusyBox 为任何小型或嵌入式系统提供了相当完整的环境。

wikipedia.org/wiki/BusyBox

logo

如何使用此图像

运行 BusyBox 外壳

$ docker run -it --rm busybox

这将使你进入一个 sh 外壳,以便你在 BusyBox 系统内做你想做的事情。

为二进制创建一个 Dockerfile

FROM busybox
COPY ./my-static-binary /my-static-binary
CMD ["/my-static-binary"]

Dockerfile 将允许你为静态编译的二进制文件创建一个最小图像。你将不得不在其他地方(如另一个容器)编译二进制文件。对于一个同样小巧但更易于扩展的更简单替代方案,请参阅 alpine

图像变体

busybox 图像包含针对各种“libc”变体构建的 BusyBox(关于“libc”变体的比较,Eta Labs 有一个非常好的图表,列出了许多相似之处和不同之处)。

有关每个变体构建过程的具体细节的更多信息,请参阅每个变体的 Dockerfile (见上文链接)所在同一目录中的 Dockerfile.builder

busybox:glibc

  • 来自 Debian 的 glibc(随后被包含在镜像中)

busybox:uclibc

  • 通过 Buildroot 的 uClibc(静态编译)

busybox:musl

  • 来自 Alpine 的 musl(静态编译)

许可证

查看此映像中包含的软件的许可证信息。

与所有 Docker 镜像一样,这些镜像可能还包含其他可能受其他许可证约束的软件(例如来自基础发行版的 Bash 等,以及所包含的主要软件的任何直接或间接依赖项)。

一些能够自动检测到的额外许可证信息可能会在 repo-info 存储库的 busybox/ 目录中找到。

对于任何预构建镜像的使用,镜像用户有责任确保对此镜像的任何使用都符合其中包含的所有软件的任何相关许可证。