运行docker没有主机操作系统?

是否有可能运行docker没有任何主机操作系统。 我的意思是本机运行。 如果可能的话,我相信这将是一种性能提升。

假设我有一个在linux内核上运行的工具。 我创build了一些额外的依赖关系的docker集装箱。 现在我把这个容器和其他有Linux的人分享到这个容器。

但是我想运行没有主机操作系统的容器。 因为它将是容器的双层操作系统。

Docker本身不是一个虚拟机,所以没有双层的操作系统。 Docker是一个运行应用程序的工具,可以将这些应用程序与运行在同一个OS内核上的其他应用程序隔离。 Docker的确包含了一个VM,Docker for Windows和Docker for Mac来运行Linux内核,所以你可以运行Linux容器。 有一个选项来运行本地Windows容器与服务器2016年,但如果你正在寻找最小的和效率,我会build议寻找其他地方。

最接近你要找的东西是:

  • Unikernels:这些应用程序被编译到一个内核中,其他所有东西都被删除了,这些应用程序被devise成在虚拟机内部运行一个非常专业化的任务,通常与安全相关 这些在开发阶段还处于早期阶段,但是Docker的确在他们的项目中使用了他们的一些技术。

  • LinuxKit(Moby项目的一部分):这是Docker如何为Docker for Windows和Docker for Mac创build虚拟机。 这是一个基于容器的Linux操作系统,您可以自定义编译只有你想运行的容器。 大部分的重点仍然是为虚拟机devise的,但裸机是一种select。

  • Scratch基础映像:如果静态编译应用程序以删除所有库依赖项,则可以使用不带任何shell或其他操作系统工具的容器。 这在Docker容器中出现的Go二进制文件中经常可以看到,它只执行一个攻击面非常小的单个任务。 作为一个Docker容器,它仍然需要底层的Linux操作系统来运行二进制文件。