在没有主机操作系统的情况下运行docker?
我是否可能在没有任何主机操作系统的情况下运行docker。我的意思是以本地方式运行它。如果可能的话,我相信这将是一个性能提升 假设我有一个运行在linux内核上的工具。我创建了一个具有一些额外依赖项的docker容器。现在,我与其他拥有linux来运行该容器的人共享该容器在没有主机操作系统的情况下运行docker?,docker,Docker,我是否可能在没有任何主机操作系统的情况下运行docker。我的意思是以本地方式运行它。如果可能的话,我相信这将是一个性能提升 假设我有一个运行在linux内核上的工具。我创建了一个具有一些额外依赖项的docker容器。现在,我与其他拥有linux来运行该容器的人共享该容器 但我想在没有主机操作系统的情况下运行该容器。因为它将是带有容器的双层操作系统。Docker本身不是VM,所以没有双层操作系统。Docker是一种运行应用程序的工具,其设置将应用程序与运行在同一操作系统内核上的其他应用程序隔离开
但我想在没有主机操作系统的情况下运行该容器。因为它将是带有容器的双层操作系统。Docker本身不是VM,所以没有双层操作系统。Docker是一种运行应用程序的工具,其设置将应用程序与运行在同一操作系统内核上的其他应用程序隔离开来。Docker确实包含一个VM,其中Docker for Windows和Docker for Mac运行Linux内核,因此您可以运行Linux容器。可以选择在Server 2016上运行本机Windows容器,但如果您希望最低限度地提高效率,我建议您到别处看看 与您所寻找的最接近的是:
- Unikernels:这些应用程序被编译到内核中,其他所有内容都被删除,设计用于在VM内部运行,以执行非常特殊的任务,通常与安全相关。这些仍然处于开发阶段的早期,但Docker确实在项目中使用了他们的一些技术
- LinuxKit(Moby项目的一部分):Docker就是这样为Docker for Windows和Docker for Mac创建虚拟机的。它是一个基于容器的Linux操作系统,您可以仅使用要运行的容器进行自定义编译。这方面的大部分重点仍然是为虚拟机设计的,但裸机是一种选择
- Scratch base image:如果您静态编译应用程序以删除所有库依赖项,那么您可以拥有一个没有任何shell或其他操作系统工具的容器。这通常出现在作为Docker容器运送的Go二进制文件中,用于执行单个任务,攻击面非常小。作为Docker容器,它仍然需要底层Linux操作系统来运行二进制文件