暗中的競技場 - Docker 1.10,為什么LXC出局?

jopen 8年前發布 | 6K 次閱讀 Docker

2016年2月6日,Docker 1.10上線,其中一個變化是Docker1.10取消了對LXC的支持。看似不起眼的變化,實為布局已久的較量,這背后有什么原因呢?

我們說過,容器概念早在Linux內核里就有,并非Docker獨家專利。Docker在2013年初出茅廬時,作為商業化的容器產品,本身也是基于linux內核的特性。但不難發現,Docker一路走來,在發展戰略上一直野心勃勃,要建立自己的生態系統,LXC出局就是一個最好的例子。

2013,Docker問世,彼時,LXC是它的底層基石。在Docker 0.9的時候,Docker見異思遷了,引入了基于Go構建的libcontainer的execution driver. 有了libcontainer這個項目, Docker不再需要依賴于Linux部件 ( LXC, libvirt, systemd-nspawn... ) 就可以處理namespaces, control groups, capabilities, apparmor profiles, network interfaces. 這下,LXC淪為可選項(下圖所示),開始stand by了。

Docker的CTO, Solomon Hykes, 在2014年DockerCon正式宣布Libcontainer項目,得到了來自各大IT公司包括Google, parallels (openvz), redhat, ubuntu的支持和貢獻,這下大大提升了產品穩定性和兼容性,也預示了LXC后來的命運。

在Docker 1.8中LXC被deprecated,現在Docker 1.10,LXC徹底出局。Docker推出libcontainer自己集成了linux內核中的很多特性,作為一個獨特、穩定且不受制于Linux的library,獨立的時代終于到來了。

不難看出,在Docker、容器流行之后,Docker自己在思考一個更為重要的問題 —— 如何讓Docker朝著容器封裝、運行的標準化更進一步?如何在兼容、共榮的同時還能掌握更多的話語權?這些問題在容器生態圈這個群狼共舞的競技場里意義深遠。那么,這個競技場里的其他玩家呢?他們又在做什么呢?我們下回再分解。

來自: http://dockone.io/article/1076

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!