Docker官方镜像将会使用Alpine Linux替换Ubuntu


Docker容器的优势是轻量和可移植,所以承载它的操作系统也应该尽量迎合这个特性。我想这也可能是为什么最近有消息说Docker准备使用Alpine Linux替代之前的Ubuntu做为官方默认的宿主环境(基础镜像)。

1月底,Docker公司创始人Solomon曾经说道,Alpine Linux的创始人Natanael Copa已经加入Docker,他正在将Docker的官方镜像包从Ubuntu切换到Alpine。

Screen-Shot-2016-02-05-at-10-00-35.png


目前,Docker官方使用的默认镜像是Ubuntu,之前就有人比较过几个基础镜像的大小。具体如下。从图中可以看出,Ubuntu有4层,188M,而Alpine Linux只有1层,5M。知名的云计算专家Brian Christner在他的博客中表示,如果Docker的官方镜像使用Alpine Linux,将会有如下4个好处:
  1. 下载速度加快。
  2. 安全性提高。
  3. 主机之间的切换更方便。
  4. 不用再占用那么多磁盘空间。


Docker_Image_Size.png


Alpine Linux 是一个社区开发的面向安全应用的轻量级 Linux 发行版。Alpine采用了musl libc和busybox以减小系统的体积和运行时资源消耗,在保持瘦身的同时,Alpine Linux还提供了自己的包管理工具apk,可以在其网站上查询,或者直接通过apk命令查询和安装。当然,Docker还会继续支持Ubuntu,只不过他不再是默认的操作系统。

Solomon表示这样的切换对于Docker用户来说非常有益,因为Alpine更小,更轻。像Ubuntu这样的操作系统,它基于Linux内核和GNU工具组,同时默认安装了一些程序。但Docker可能并不需要那些被默认安装的程序,所以还有很大的可以精简的空间。

目前这项消息还未得到官方证实,不过,切换与否,对于Docker使用者来说并没有太大的影响,用户可以选择他们最喜欢的Linux发行版本。

8 个评论

其实ubuntu的镜像也不大,188M.
大的是执行完apt-get update 之后
这个大小和alpine相比,已经是实在太大了。使用alpine,我构建的symfony+nginx+php-fpm的开发环境,只需要60MB。这个在ubuntu的image上,你会不知不觉update到大概600MB左右。 在远程打包分享你的docker应用的时候,600MB VS 60MB, 你会感觉到它们的不同的。
对于一个单功能的容器来说,alpine容器的大小优势是巨大的,但是如果对于一个公司,或者一个大型项目来说,一般都是存在很多个image,这样共享一个 centos或者ubuntu基础镜像,大小就不是太大的问题,功能完整性或者易用性才是关键。
alpine 有些东西 貌似不太全 啊 ,我尝试再上面编译东西 有些 包找不到。。。
使用alpine,构建的symfony+nginx+php-fpm的开发环境。共享一个 centos或者ubuntu基础镜像,大小不是问题。
最外的基层基本都很小,基础镜像层(操作哦系统)和基础包层(基础依赖包,yum或者apt)都是共享的,这个占大头。没有百分之90,一般也有百分80吧。况且,都是在内网的千兆网或者万兆网,传个低于1G的镜像,简直太快了。重要的是少了基础环境的时候,用centos或者ubuntu等常用的linux发行版本会比较容易解决,要是Alpine就要斗智斗勇了。当然,我们都很期待Alpine这个社区将来会越来越壮大。

要回复文章请先登录注册