什么是容器

它们是隔离、资源控制且可移植的操作环境。

基本上,容器是一个隔离的位置,应用程序可在其中运行,而不会影响系统的其他部分,并且系统也不会影响该应用程序。 容器是虚拟化的下一个演化。

如果你在容器内,看起来会很像你在一个新安装的物理计算机或虚拟机内。 并且,对 Docker 来说,可以使用与管理任何其他容器相同的方式来管理 Windows Server 容器。

class="video_iframe" data-vidtype="2" allowfullscreen frameborder="0" style=" z-index:1; " height="417" width="556" data-src="https://v.qq.com/iframe/preview.html?vid=o1313jsnws1&width=500&height=375&auto=0">

Windows 容器类型

Windows 容器包括两个不同的容器类型或运行时。

Windows Server 容器 - 通过进程和命名空间隔离技术提供应用程序隔离。 Windows Server 容器与容器主机和该主机上运行的所有容器共享内核。

Hyper-V 容器 - 通过在高度优化的虚拟机中运行每个容器,在由 Windows Server 容器提供的隔离上扩展。 在此配置中,容器主机的内核不与 Hyper-V 容器共享。

容器基础知识

当你开始使用容器时,你会注意到容器和虚拟机之间的许多相似之处。 容器在操作系统上运行、具有文件系统,并且可以通过网络访问,就像它是物理或虚拟计算机系统一样。 话虽如此,但容器背后的技术和概念与虚拟机有很大不同。

Mark Russinovich 所著的此博客文章很好地解释了容器。

在你开始创建和使用 Windows 容器时,以下关键概念将会很有用。

容器主机:使用 Windows 容器功能配置的物理或虚拟计算机系统。 容器主机将运行一个或多个 Windows 容器。

容器映像:在对容器文件系统或注册表进行修改时(如软件安装),将在沙盒中捕获它们。 在许多情况下,你可能希望捕获此状态,以便可以创建继承这些更改的新容器。 这就是映像的本质:一旦容器停止,你便可以放弃该沙盒,或者可以将其转换为新的容器映像。 例如,让我们想象你已从 Windows Server Core 操作系统映像部署一个容器。 然后你将 MySQL 安装到此容器中。 从此容器创建新映像将充当该容器的可部署版本。 此映像将只包含所做的更改 (MySQL),但是将充当容器操作系统映像之上的一个层。

沙盒:容器启动后,将在此“沙盒”层中捕获所有的写入操作,如文件系统修改、注册表修改或软件安装。

容器操作系统映像:从映像部署容器。 容器操作系统映像是可能组成容器的许多映像层中的第一层。 此映像提供操作系统环境。 容器操作系统映像不可变,并且无法修改。

容器存储库:每次创建容器映像时,容器映像及其依赖关系都会存储在本地存储库中。 这些映像可以在容器主机上重复使用多次。 容器映像还可以存储在公共或私有注册表(如 DockerHub)中,以便可以在许多不同的容器主机上使用它们。

面向开发人员的容器

从开发人员的桌面到测试计算机再到一组生产计算机,可以创建以相同方式在几秒内在任何环境中部署的 Docker 映像。 由此创造出了封装在 Docker 容器中的巨大且持续增长的应用程序生态系统,其中 DockerHub 是 Docker 所维护的公共容器化应用程序注册表,当前已在公共社区存储库中发布超过 180,000 个应用程序。

当你容器化某个应用时,仅该应用以及运行该运用所需的组件将组合到“映像”中。 然后根据你的需要从此映像创建容器。 你还可以使用映像作为创建其他映像的基线,从而使映像创建速度更快。 多个容器可以共享同一个映像,这意味着容器将非常快速地启动,并使用更少的资源。 例如,你可以使用容器为已分配的应用起转轻型和可移植的应用组件(或“微服务”),并快速单独缩放每个服务。

由于容器具有运行应用程序所需的一切,因此它们非常易于移植,并且可在运行 Windows Server 2016 的任何计算机上运行。 你可以本地创建和测试容器,然后将该相同的容器映像部署到你的公司的私有云、公有云或服务提供商。 容器的自然灵活性支持大规模、虚拟化和云环境中的现代应用开发模式。

借助容器,开发人员可以采用任何语言生成应用。 这些应用完全可移植,并且可在任何位置(笔记本电脑、台式机、服务器、私有云、公有云或服务提供商)运行,而无需任何代码更改。

容器有助于开发人员更快地生成和交付更高质量的应用程序。

面向 IT 专业人员的容器

IT 专业人员可以使用容器来为其开发、QA 和生产团队提供标准化环境。 他们不再需要担心复杂的安装和配置步骤。 通过使用容器,系统管理员抽象出操作系统安装和底层基础结构中的差异。

容器有助于管理员创建更易于更新和维护的基础结构。

原文地址:https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/about/

.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

Windows 容器相关推荐

  1. Microsoft 推出在AzureApp Service上支持Windows容器的公开预览版

    微软宣布推出了在Azure App Service上支持Windows容器的公开预览版,该预览版对安装到App Service环境中的内容提供了更多的控制.这个声明扩展了容器服务的web应用程序的功能 ...

  2. Docker for windows 容器内网通过独立IP直接访问的方法

    Docker for windows 容器内网通过独立IP直接访问的方法 Docker官方推荐我们通过端口映射的方式把Docker容器的服务提供给宿主机或者局域网其他容器使用.一般过程是: 1.Doc ...

  3. 微软 SQL Server 2016 SP1 开发者版入驻 Windows 容器

    2月22日有消息称微软今天宣布在Windows Containers容器中上线SQL Server2016 SP1开发者版.用户可以在Docker Hub中找到镜像,可用于Windows Server ...

  4. Linux主机Windows容器,了解用于Linux和 Windows容器的Docker“容器主机”与“容器操作系统”...

    让我们来探讨一下"容器主机"和"容器操作系统"之间的关系,以及它们在 Linux 和 Windows 容器之间的区别. 一些定义 容器主机:也称为主机操作系统. ...

  5. 如何在CrossOver里应用Windows容器的存档(备份)与恢复?

    在CrossOver上安装好的Windows应用程序 我们可以对其所在的容器进行备份. 接下就给大家介绍一下具体操作方法: 存档教程 步骤一 1.运行CrossOver,选中相关容器: 2.在[容器] ...

  6. windows container (docker) 容器资料笔记

    背景 业务需求:简化公司私有云,公有云的部署,尝试寻找更好的,更优化的技术方案替换现有的虚拟机部署方案. 技术背景: .net Docker 学习资料 Docker中文社区: http://www.d ...

  7. Windows上的原生Linux容器(盆盆的Kubecon课程分享)

    您测试过Windows上的Linux容器吗? 这是本周末刚闭幕的Kubecon大会,笔者在课堂上提出的问题. 关于这个问题,大家常有的困惑就是,我们为什么要在Windows上运行Linux容器?您可以 ...

  8. 在Linux和Windows的Docker容器中运行ASP.NET Core

    译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott Hanselman就捷足先登了.那么我就来翻译一下这篇文章,让更多的中文读者看到.当然Scott遇到的坑我也遇 ...

  9. Windows 应用容器化

    背景 在这个时间点,我们可能已经对 Linux 容器使用已经达到熟练掌握的程度,因为 Docker 与 Kubernetes 都是最早为 Linux 平台设计.当我们从容器这项技术中体会到种种收益,对 ...

最新文章

  1. 强烈推荐——PQDT Open-ProQuest学位论文全文开放数据库
  2. C语言内存管理超详解
  3. mysql 删除原理_MySQL权限原理及删除MySQL的匿名账户
  4. mysql 定时器停止_java-MySQL语句取消计时器无法停止
  5. CVPR 2022 3月7日论文速递(17 篇打包下载)涵盖 3D 目标检测、医学影像、图像去模糊、车道线检测等方向
  6. Qt Creator指定项目属性
  7. php mysql 随机排序函数_php+mysql实现数据库随机重排实例
  8. git初使用(本地创建后第一次提交到git)
  9. MariaDB配置、集群
  10. 【转】百度站长平台MIP引入工具使用心得
  11. 技术要求→物理安全→防盗窃和防破坏
  12. 冷门的linux设备,你可能不知道的6个冷门linux实用命令
  13. Sentinel服务熔断只配置blockHandler_客户自定义限流处理_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0051
  14. Graph Embedding:word2vec更进一步?
  15. 思科路由器 密码设置和恢复
  16. 老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩. 输入描述:
  17. 关于亚马逊人的财务自由
  18. 甘特图——项目管理的理想控制工具
  19. 【毕业设计】基于单片机的墨水屏阅读器(单词卡) - 物联网 嵌入式
  20. C++中std::setw()的用法

热门文章

  1. jQuery子页面获取父页面元素
  2. Elixir Ecto: 范围数据类型
  3. js 中声明变量 “提前”
  4. ngnix之rewrite
  5. Solarwinds的NetFlow Traffic Analyzer中的Cisco设备配置
  6. 外观模式(Façade Pattern)
  7. BCVP开发者社区2022专属周边第一弹
  8. 微服务组件记事本:本地搭建Skywalking
  9. 究竟是什么可以比反射还快实现动态调用?| Source Generators版
  10. WPF轮播图实现方式