容器网络是一种新兴的应用沙盒机制,用于家庭桌面和网络规模的 企业网络 解决方案,其概念类似于虚拟机。与主机和所有其他容器隔离的容器内部是一个功能齐全的 Linux 环境,具有自己的用户、文件系统、进程和网络堆栈。容器内的所有应用程序只能访问或修改容器内可用的文件或资源。
可以同时运行多个容器,每个容器都有自己的安装和依赖项。这在应用程序的较新版本可能需要升级可能导致与服务器上运行的其他应用程序依赖项发生冲突的依赖项的情况下特别有用。与虚拟机不同,容器共享主机资源,而不是完全模拟计算机上的所有硬件,使容器比虚拟机更小更快,并减少开销。特别是在 Web 规模应用程序的上下文中,容器被设计为虚拟机的替代品,作为微服务架构的部署平台。
容器还具有可移植性的特点,比如Docker,一个容器引擎,允许开发者将一个容器和它的所有依赖打包在一起。然后可以使该容器包可供下载。下载后,容器可以立即在主机上运行。
容器网络如何工作?
容器网络是一种虚拟化形式,在概念上类似于虚拟机 (VM),但有明显区别。首先,容器方法是操作系统虚拟化的一种形式,而虚拟机是硬件虚拟化的一种形式。
在管理程序上运行的每个虚拟机都有自己的操作系统、应用程序和库,并且能够封装持久数据、安装新操作系统、使用与主机不同的文件系统或使用不同的内核版本。
相反,容器是映像的“运行实例”,是短暂的操作系统虚拟化,它会启动以执行某些任务,然后被删除和遗忘。由于容器的短暂性,与需要更大地址空间的虚拟机相比,系统用户运行的容器实例要多得多。
为了创建隔离,容器依赖于两个 Linux 内核特性:命名空间和 cgroup。为了给容器自己的系统视图,将其与其他资源隔离开来,为每个资源创建一个命名空间,并与其余系统不共享。然后使用控制组(Cgroups)来监控和限制系统资源,如 CPU、内存、磁盘 I/O、网络等。
容器网络的好处
容器正在迅速被采用,取代虚拟机作为微服务平台。
容器有几个关键的好处:
在 Web 级应用程序部署中使用容器网络
容器被部署为企业环境中微服务架构的一部分,以帮助封装大型 Web 应用程序常见的单个任务。每个任务可能有自己的容器,面向外部的容器(如 API 和 GUI)对公共互联网开放,其他容器将驻留在专用网络上。
微服务模型带来的优势:
容器网络的类型
目前使用的容器网络有五种类型;它们的特点围绕着 IP-per-container 与 IP-per-pod 模型以及网络地址转换 (NAT) 的要求与不需要转换。
Copyright © 2013-2021 hkdfc.com. All Rights Reserved. 梦飞云服务器 版权所有 香港梦飞有限公司深圳公司 粤ICP备11019662号-7
国家高新技术企业 | 工信部备案号:粤ICP备11019662号-5 | 互联网安全备案号:44030402002452 | 增值电信业务经营许可证:B1-20201911