您想要的是使用Docker不可能即用的。每个Docker映像都有其自己的根文件系统,该根文件系统需要安装某种操作系统。
您的选择是:
,例如BusyBox映像。这将为您提供使容器运行所需的绝对最小值。
,在这种情况下,您的容器将运行相同或非常相似的OS。
Docker映像之所以这样,是因为它们具有可移植性。任何Docker映像都旨在在Docker运行的任何位置运行,而与操作系统无关。这意味着Docker映像必须包含整个根文件系统和OS安装。
如果您需要主机操作系统提供的服务,可以使用Docker卷共享目录。但是,这通常意味着要用于挂载数据目录,并且仍然需要具有操作系统的Docker映像。
就是说,如果您有一个绝对没有依赖项的静态链接二进制文件,那么创建一个非常小的图像将变得很容易。这就是所谓的“微容器”,特别是Go非常适合生产这些容器。这是有关微容器及其生产方法的进一步阅读。
另一种选择,你可以看看,如果你想要的是容器的资源管理部被使用lxc-execute
,因为在这个答案描述。但是您也会失去所有其他不错的Docker功能。不幸的是,您尝试做的不是构建Docker的目的。