docker入门、LXC、windows container 和 Hyper知识基础、实用情况
标签:
虚拟机与容器很明显可以看出两者在操作系统级别上的隔离和进程上的隔离的区别,VM因为隔离级别更高明显更重。
文件系统隔离:每个容器都有自己的root文件系统
进程隔离:每个容器都运行在自己的进程环境中
网络隔离:容器件的虚拟网络接口和IP地址都是分开的
资源隔离和分组:使用cgroup将CPU和内存之类的资源独立分配给每个容器
(https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/deploy-containers/system-requirements)
虚拟机 容器隔离 提供与主机操作系统和其他 VM 的完全隔离。 当强安全边界很关键时(例如,在同一台服务器或群集上托管来自竞争性公司的应用时),这很有用。 通常提供与主机和其他容器的轻度隔离,但不提供与 VM 一样强的安全边界。 (可以使用 Hyper-V 隔离模式隔离轻型 VM 中的每个容器,从而提高安全性。)
操作系统 运行包含内核的完整操作系统,因此需要更多的系统资源(CPU、内存和存储)。 运行操作系统的用户模式部分,可以对其进行定制,使之只包含应用所需的服务,减少所使用的系统资源。
来宾兼容性 运行虚拟机内的几乎任何操作系统 在与主机相同的操作系统版本上运行(Hyper-V 隔离使你能够在轻型 VM 环境中运行同一 OS 的早期版本)
部署 使用 Windows Admin Center 或 Hyper-V 管理器部署单个 VM;使用 PowerShell 或 System Center Virtual Machine Manager 部署多个 VM。 通过命令行使用 Docker 部署单个容器;使用 Azure Kubernetes 服务等业务流程协调程序部署多个容器。
操作系统更新和升级 在每个 VM 上下载并安装操作系统更新。 安装新的操作系统版本需要升级;通常情况下,直接创建全新 VM。 这样可能很耗时,尤其是在有大量 VM 的情况下... 在容器中更新或升级操作系统文件的操作是相同的: 编辑容器映像的生成文件(称为 Dockerfile),使之指向最新版 Windows 基础映像。用这个新的基础映像重新生成容器映像。将容器映像推送到容器注册表。使用业务流程协调程序重新进行部署。 业务流程协调程序提供的强大的自动化功能允许大规模这样做。 有关详细信息,请参阅教程:在 Azure Kubernetes 服务中更新应用程序。
持久性存储 对单个 VM 使用进行本地存储的虚拟硬盘 (VHD),或对多个服务器共享的存储使用 SMB 文件共享 使用 Azure 磁盘作为单个节点的本地存储,或将 Azure 文件存储(SMB 共享)用于由多个节点或服务器共享的存储。
负载平衡 虚拟机负载均衡将运行中的 VM 移动到故障转移群集中的其他服务器。 容器本身不移动,而是由业务流程协调程序在群集节点上自动启动或停止容器,以管理负载和可用性方面的更改。
容错 VM 可以故障转移到群集中的另一台服务器,并在新服务器上重启 VM 的操作系统。 如果某个群集节点发生故障,则在该节点上运行的所有容器都将在另一个群集节点上由业务流程协调程序快速重新创建。
网络 使用虚拟网络适配器。 使用虚拟网络适配器的隔离视图,在减少使用资源的同时,稍微减少提供的虚拟化 – 主机的防火墙与容器共享。 有关详细信息,请参阅 Windows 容器网络。
windows授权机制:
这篇文章对于docker入门,在docker架构方面的了解有很大的帮助,此等级标题下均为该文章内容。
https://www.cnblogs.com/ECJTUACM-873284962/p/9789130.html
Dockerfile是什么:
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/43557.html
- 上一篇:转(以作记录):cmd命令行
- 下一篇:window监听节点改变的接口