当前位置: 首页 > 面试题库 >

Windows版Docker如何运行Linux容器?

司空丰
2023-03-14
问题内容

在旧版Docker for Windows中,我记得它明确表示它使用Linux VM作为内核。

但自从新的稳定版本(我认为是2016年7月发布)以来,它说

Docker for Windows is a native Windows application with a native user interface and auto-update capability, deeply integrated with Windows native virtualization, Hyper-V, networking and file system

如果我理解正确,则指定的基本映像用于用户空间,并且使用主机的内核。因此,如果指定使用ubuntu基本映像运行echo命令,则Windows内核如何发挥作用?

还是我完全误会了什么?


问题答案:

适用于Windows的Docker仍使用Linux VM运行Linux容器。但是,不是使用Virtual Box(与Docker
Toolbox一起使用),而是使用Hyper-V(Windows本地管理程序)运行Linux
VM。这意味着适用于Windows的Docker交付的组件更少,活动部件更少。

如果安装Docker for Windows并运行,docker version您会看到Docker Linux守护程序正在“ Moby
Linux”上运行。



 类似资料:
  • 问题内容: 我已成功将docker用于Windows 10上带有Linux容器的Windows窗口-但现在我想使用新的闪亮Windows Server 2016进行该任务-但是如何呢? 我已经使用此指南安装了Docker功能:https : //msdn.microsoft.com/zh- cn/virtualization/windowscontainers/quick_start/quick_

  • 我试图让Cosmos DB模拟器在Docker for Windows上运行,但我没有任何运气。我正在执行这里的命令: https://docs.microsoft.com/en-us/azure/documentdb/documentdb-nosql-local-emulator 明确地: 我从Docker得到各种错误,包括“无效绑定装载”。命令本身似乎不正确,所以我尝试将< code > mo

  • 我遵循的https://app.pluralsight.com/library/courses/docker-web-development/table-of-contents使用旧的微软/aspnetcore-构建镜像,但我运行核心2.1,所以我使用微软/dotnet: 2.1-sdk代替。 我正在运行的命令是: docker run-it-p8080:5001-v${pwd}:/app-w“/

  • 正如文档中所说,如果我想在docker中运行测试容器,我必须考虑以下几点: null

  • 问题内容: 我仅在尚未运行的情况下才需要运行docker容器。给定此命令。如果它不存在,我将如何运行它。 我可以使用任何脚本或语言。 问题答案: 使用过滤器检查是否存在特定名称的容器:( 请参阅docker ps Filterring ) 该如果第一部分是假的,才执行。 为了安全起见(可能会返回多个名称),您也可以选择这样做(如果您认为“ nginx”一词不能作为任何容器名称的一部分): 要么:

  • 只有当docker容器尚未运行时,我才需要运行它。给了这个命令。如果它不存在,我将如何运行它。 我对任何脚本或语言都持开放态度。