Docker容器一夜成名的故事

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

企业IT对Docker容器充满信心,某些分析师纷纷猜测Docker容器在下个阶段会在服务器整合领域取代虚拟机。

新集装箱化方式的有趣之处在于其并非新生事物,容器的概念在Unix早期通过使用chroot命令就已经实现了。Linux容器技术是在2008年引入的,Docker软件最初就是基于Linux容器构建的。这么说来,容器如今突然引发人们兴趣,原因何在?

集装箱化应用共享通用的操作系统内核,实例不需要在各自独立的操作系统之上运行。应用可以在几秒钟之内完成部署,而且比基于hypervisor的虚拟化使用的资源更少。然而由于应用都依赖于通用的操作系统内核,这种方式仅适用于共享精确操作系统版本的应用。Docker找到了一种解决该限制的方法。

Docker一路领先

Docker 是由一家PaaS公司dotCloud在2013年推出的一个开源项目。Docker依赖于Linux内核特性比如命名空间以及cgroups,以确保资源隔离并将应用与其依赖项一起打包封装,使应用能够在不同的Linux操作系统之上运行——支持一定程度的可移植性,允许开发人员使用任何语言编写应用,并能够轻松地将应用从笔记本迁移到测试或生产服务器——无论底层使用的是哪种Linux发行版。正是可移植性激起了开发者以及管理员的兴趣。

Docker的市场销售副总裁David Messina说:“在Docker之前,应用或服务的可移植性从未得到过保证。正是由于Docker容器所采用的分离应用限制的方式,帮助我们解决了依赖问题。”

开发人员几乎马上开始注意到这种新的方式能够解决他们所面临的最大问题之一。在2013年8月发布交互式指南之后的一个月,Docker称10000名开发人员进行了试用。在一年之内,红帽以及亚马逊增加了对Docker的商业支持——即使Docker主管警告用户不要用于生产应用也无济于事。Docker 在2014年6月发布1.0版本时,Docker引擎软件已经被下载了275万次。现在这一数字达到了一亿次。

451 Research的研究经理Jay Lyman说,分析师认为Docker软件正合时宜,越来越多的公司投资云计算并处于向DevOps迁移的过程中。

Lyman说:“ Docker提供了一个集成用户界面,提供了更高级别的简便性。你不必成为一名Linux内核专家就能够使用Docker,这拓宽了潜在开发人员的规模。”

Docker 获得的关注越多,瑕疵也会被放大,而且有可能瞬间变得过于流行,至少这是Cal Leeming的思维。Cal Leeming是一名软件工程师同时也是Docker批评家,他通过博客以及社交媒体表达了对Docker的关注。在生产环境中试用六个月以后,Cal Leeming说他发现Docker软件和Docker Hub Registry运行缓慢而且令人失望。

“我可以很清楚地看到,它们承担着投入资金提高产出的压力,”Leeming说,“我评论Docker的原因不是要破坏或者影响该项目。但如此多的人正在试图将Docker视作下一个行业标准。当你看到这种事并且知道解决方案有缺陷,你需要反击。”

然而,Docker赢得了某些很有名的用户,包括PayPal、Spotify以及Yelp,这些用户正在发现该软件的价值。

Yik Yak是一家总部位于亚特兰大市的移动应用公司,该公司的CTO Tom Chernetsky说:“我们使用Docker能够非常快地为不同的开发者构建开发及测试环境,而且不会干涉生产系统。对于快速发展的公司来说,Docker是游戏规则的颠覆者。”

Docker 出乎意料的成功引起了一些容器虚拟化竞争对手的注意,激励他们开发自己的虚拟容器。在2014年底,CoreOS CEO Alex Polvi介绍了该公司新的容器项目Rocket,作为对Docker“在根本上有缺陷”方式的直接回应。Docker的技术方法并不安全,因为其需要一个中央Docker守护进程。而Rocket依赖于系统级守护进程创建容器。

451 Research的研究经理Jay Lyman说:“容器的官方标准仍有待观察。我认为我们已经看到的和hypervisor更接近。VMware占据主导地位,应用最为广泛。但其肯定不是标准,我们可能会看到类似于Dockr和Rocket的其他容器。”


本文作者:张冀川

来源:51CTO

相关文章
|
16天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
156 77
|
25天前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
3天前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
27 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
9天前
|
关系型数据库 应用服务中间件 PHP
实战~如何组织一个多容器项目docker-compose
本文介绍了如何使用Docker搭建Nginx、PHP和MySQL的环境。首先启动Nginx容器并查看IP地址,接着启动Alpine容器并安装curl测试连通性。通过`--link`方式或`docker-compose`配置文件实现服务间的通信。最后展示了Nginx配置文件和PHP代码示例,验证了各服务的正常运行。
29 3
实战~如何组织一个多容器项目docker-compose
|
3天前
|
Unix Linux Docker
CentOS停更沉寂,RHEL巨变限制源代:Docker容器化技术的兴起助力操作系统新格局
操作系统是计算机系统的核心软件,管理和控制硬件与软件资源,为用户和应用程序提供高效、安全的运行环境。Linux作为开源、跨平台的操作系统,具有高度可定制性、稳定性和安全性,广泛应用于服务器、云计算、物联网等领域。其发展得益于庞大的社区支持,多种发行版如Ubuntu、Debian、Fedora等满足不同需求。
16 4
|
18天前
|
数据建模 应用服务中间件 nginx
docker替换宿主与容器的映射端口和文件路径
通过正确配置 Docker 的端口和文件路径映射,可以有效地管理容器化应用程序,确保其高效运行和数据持久性。在生产环境中,动态替换映射配置有助于灵活应对各种需求变化。以上方法和步骤提供了一种可靠且易于操作的方案,帮助您轻松管理 Docker 容器的端口和路径映射。
60 3
|
25天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
64 7
|
25天前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
32 5
|
25天前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
53 4
|
25天前
|
负载均衡 网络协议 算法
Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式
本文探讨了Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式,以及软件负载均衡器、云服务负载均衡、容器编排工具等实现手段,强调两者结合的重要性及面临挑战的应对措施。
58 3