我为什么选择使用容器?

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 本文讲的是我为什么选择使用容器?【编者的话】作者主要介绍了自己选择使用容器的6个主要原因,这也是容器为我们的工作带来的一些好处。
本文讲的是我为什么选择使用容器?【编者的话】作者主要介绍了自己选择使用容器的6个主要原因,这也是容器为我们的工作带来的一些好处。

【烧脑式Kubernetes实战训练营】本次培训理论结合实践,主要包括:Kubernetes架构和资源调度原理、Kubernetes DNS与服务发现、基于Kubernetes和Jenkins的持续部署方案 、Kubernetes网络部署实践、监控、日志、Kubernetes与云原生应用、在CentOS中部署Kubernetes集群、Kubernetes中的容器设计模式、开发Kubernetes原生应用步骤介绍等。

我使用容器已经将近三年,最初在一个技术支持团队工作,主要是帮助客户解决应用程序中的问题,并提供一些有关运行容器最佳做法的建议。如今我在的团队,做的主要是容器开发并在我们自己的OpenShift环境中使用,由于我的技术支持背景,我的故障排除技巧能帮助我完成这项工作。

我使用容器运行我的大部分任务,这让我的工作变得比较轻松。我可以在容器中运行任何软件,无论是用于评估或者用于我自己的网站。一个事实是:容器在很多公司中变得越来越普遍。Google的数据中心每天可以不停地运转数千个容器,Netflix每周可以启动超过100万个容器,而许多其他公司(无论是小型还是大型)都在生产中使用容器来实现新的可扩展性。 考虑到这一点,我想列出我开始使用容器的六个主要原因。

容器简单

在我的工作中,我一直认为 KISS原则 是最棒的,那为什么不使用简单的工具来改善我的工作?我说容器很简单,因为我只需要用两个或三个命令就可以在我的机器上运行一个操作系统以及整个软件栈。由于这种简单性,我可以节省大量运行容器的时间和精力,而不是花时间在创建虚拟机、安装操作系统和安装软件。这样,我就可以专注于重要的事情。

容器轻量

容器的好处是它们直接运行在操作系统(Linux)层之上,而中间没有hypervisor层。这使得容器比虚拟机使用的资源更少,我可以在相同的硬件资源上启动更多的容器。

另一方面,容器使用的存储空间也比虚拟机少,这更有吸引力。举个例子,RHEL 7镜像大小是193MB,还有一个替代的RHEL版本(我们称之为RHEL Atomic),大小小于80MB。由于镜像大小的原因,容器启动的引导时间少于任何传统运行操作系统的方式。虽然在虚拟机或裸机上安装RHEL的启动时间大约是1分钟,但在容器内部运行的时间可能不超过15秒。

容器具有可移植性(不止是 "可以运行在我的机器")

容器是不可变的,这项功能对我来说特别重要。它保证了在我机器上运行的容器能以相同的方式运行在任何一台机器上。不会再有类似“它在我的机器上可以工作”这样的借口。使用容器可以避免这种情况,甚至可以运行在像AWS,IBM Bluemix,Google Cloud Platform,以及Azure这样的云端供应商上,并且获得相同的行为。

大型社区支持

想想你要使用容器运行的软件,我敢确定如果你找不到所需软件的镜像,那么很快会有人创建它,并在任何存储库中推出。大多数公司正在为他们的软件创建容器镜像用以支持在容器上运行,你可以使用这些镜像来创建自己的配置。此外,还有很多有关容器的书籍(包括付费和免费的),这些书籍会教你如何开发,运行容器并且使其更加安全。

容器是可扩展的

你找到一个可以运行的镜像,但是镜像中缺少你需要的特殊配置或者一些软件。使用容器,你可以扩展现存的镜像,在容器中加入你需要的东西,然后根据你自己的需求制作一个更适合的镜像。这样,准备操作系统运行软件的时间远远少于任何其他方法。即使使用DevOps工具,如Puppet,Chef或者其他,准备运行软件环境的时间甚至超过运行一个新的容器。

容器为云就绪

云计算是下一代计算,你可以按需在你的环境中添加资源,并收集有关它们的运行指标。容器在设计中将所有这些要求以及更多的内容带入云计算,因为它们在出现任何问题时很容易进行更换。你不必为丢失一个容器而担心,因为最先进的云计算架构已经为你管理容器,并启动了一个新的容器来替代没有响应的容器。

原文链接:Why I Started Using Containers(翻译:肖远昊)

原文发布时间为:2017-08-27

本文作者:肖远昊

本文来自云栖社区合作伙伴Dockerone.io,了解相关信息可以关注Dockerone.io。

原文标题:我为什么选择使用容器?

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
11天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1232 5
|
10天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1214 87
|
11天前
|
云栖大会
阿里云云栖大会2025年9月24日开启,免费申请大会门票,速度领取~
2025云栖大会将于9月24-26日举行,官网免费预约畅享票,审核后短信通知,持证件入场
1796 13
|
20天前
|
人工智能 运维 安全
|
3天前
|
资源调度
除了nrm-pm,还有哪些工具可以管理多个包管理器的源?
除了nrm-pm,还有哪些工具可以管理多个包管理器的源?
234 127
|
4天前
|
前端开发
Promise的then方法返回的新Promise对象有什么特点?
Promise的then方法返回的新Promise对象有什么特点?
177 2