当前位置: 首页 > 知识库问答 >
问题:

运维 - 请问 windows server 2019 能用 docker 虚拟化共享内存跟硬盘吗?

陆正德
2024-01-11

请问 windows server 2019 能用 docker 虚拟化共享内存跟硬盘吗?

目前Hyper-V Server有7台虚拟机Server,每台OS内存就占据8GB+32GB硬盘,各自AP系统才占用4GB + 20GB 硬盘
导致全部运行需要占用 7 (8+4) = 84GB内存,7 (32+20) = 364GB硬盘空间

是否有其他虚拟化方式,能变成共用一个 OS 内存跟硬盘即可
如上面例子变成 7 4 + 8 = 36GB 内存, 7 20 + 32 = 172GB 硬盘空间

类似 Azure App service 那样,每一个服务不需要完整OS内存+主机硬盘,节省非常多资源

共有1个答案

湛鸿雪
2024-01-11

Windows Server 2019 可以使用 Docker 虚拟化技术来共享内存和硬盘。然而,需要注意的是,Docker 在 Windows 上的实现是基于 Hyper-V 的虚拟化技术,而不是直接共享物理内存和硬盘。

Docker 在 Windows 上使用的是 Windows Server 2016 引入的容器功能,这些容器共享宿主机的内核,但是有自己的文件系统和进程空间。这种技术减少了资源消耗,但并不是像 Azure App service 那样完全不占用额外的 OS 内存和硬盘空间。

如果你希望进一步减少资源占用,可以考虑使用轻量级的容器编排解决方案,如 Kubernetes,来管理和调度容器。此外,还可以优化你的应用程序,使其更加高效地使用内存和硬盘资源。

另外,如果你希望共享硬盘,可以考虑使用网络文件系统(如 NFS)或分布式文件系统(如 GlusterFS)来共享存储。这可能需要额外的配置和管理,但它可以让你在不同的虚拟机或容器之间共享硬盘资源。

 类似资料:
  • OpenCL 2.0的一个重要的修订就是支持共享虚拟内存(SVM)。共享虚拟内存属于全局内存,其相当于在主机内存区域上做的扩展,其允许上下文对象上的所有设备能和主机共享这块内存。SVM能将结构体指针作为参数传入内核,这相较之前的标准方便许多。例如,在未使用SVM之前,在主机端创建的链表结构无法传递到内核中,只能一个节点一个节点的传入。那么,2.0之后如何将链表实例通过传参的形式传入内核呢?将内存块

  • Docker 常用命令 docker pull redis #拉取镜像,默认 latest 版本 docker pull mysql:8.0 #拉取指定版本镜像 docker images #查看镜像 docker image ls #查看镜像 docker image ls -f dangling=true #查看虚悬镜像 docker image prune #删除虚悬镜像 doc

  • 本文向大家介绍请问虚拟内存和物理内存怎么对应相关面试题,主要包含被问及请问虚拟内存和物理内存怎么对应时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1、概念: 物理地址(physical address) 用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。   虽然可以直接把物理地址理解成插在机器上那根内存本身,把内存看成一个从0字节一直到最大空量逐字节的编号的大数组,然后把

  • 主要内容:虚拟内存如何工作?,按需分页,虚拟内存管理系统的快照虚拟内存是一种存储方案,为用户提供了一个拥有非常大的主内存的幻觉。 这是通过将辅助存储器的一部分作为主存储器来完成的。 在这种方案中,用户可以加载比可用主存更大的进程,因为存在内存可用于加载进程的错觉。 操作系统不是在主内存中加载一个大进程,而是在主内存中加载多个进程的不同部分。 通过这样做,多程序的程度将会增加,因此CPU利用率也会增加。 虚拟内存如何工作? 在现代语言中,虚拟内存近来变得非常普

  • 我正在尝试为Windows 10企业版安装Docker。作为安装的一部分,我在Bios中启用了虚拟化,但启用后,我的显示器屏幕变黑。如果我禁用HyV,我的屏幕不会变黑,但Docker不会启动。请帮帮我。TIA。

  • 共享内存是两个或多个进程共享的内存。 但是,为什么我们需要共享内存或其他通信方式呢? 重申一下,每个进程都有自己的地址空间,如果任何进程想要将自己的地址空间的某些信息与其他进程进行通信,那么只能通过IPC(进程间通信)技术进行。 我们已经知道,通信可以在相关或不相关的进程之间进行。 通常,使用管道或命名管道来执行相互关联的进程通信。 可以使用命名管道或通过共享内存和消息队列的常用IPC技术执行无关