Docker,一个流行的将软件打包的开源容器平台,已经有了新的1.6版,增加了许多新的特性。该版本主要更新了Docker Registry、Engine、 Swarm、 Compose 和 Machine等方面。这次发布旨在提升性能、改善开发者和系统管理员的体验。让我们来快速看看有哪些新特性吧。
**Docker Registry (2.0)**是一项推送Docker镜像用于存储和分享的服务,因为面临加载下的体验问题而经历了架构的改变。它仍然向后兼容。Docker Registry的编写语言现在从Python改为Google的Go语言了,以提升性能。与Docker Engine 1.6结合后,拉取镜像的能力更快了。早先的镜像是队列式输送的,而现在是并行的啦。
**Docker Engine (1.6)**相比之前的版本有很大的提高。目前支持容器与镜像的标签。通过标签,你可以附加用户自定义的元数据到镜像和容器上,而镜像和容器反过来可以被其他工具使用。标签对正在运行的应用是不可见的,可以用来加速搜索容器和镜像。
Windows版本的Docker客户端可以连接到远程的运行在linux上的Docker Engine。
Docker目前支持日志驱动API,这允许我们发送容器日志给系统如Syslog,或者第三方。这将会使得系统管理员受益。
**Swarm (0.2)**是一个Docker集群工具,可以将一个Docker主机池转换为一个虚拟主机。在新特性里,容器甚至被放在了可用的节点上。通过添加更多的Docker命令,努力支持完整的Docker API。将来,使用第三方驱动来集群会成为可能。
Compose (1.2) 是一个Docker里定义和运行复杂应用的工具, 也得到了升级。在新版本里,可以创建多个子文件,而不是用一个没有结构的文件描述一个多容器应用。
通过**Machine (0.2)**,我们可以很容易地在本地计算机、云和数据中心上搭建Docker主机。新的发布版本为开发者提供了一个相对干净地驱动界面来编写驱动。Machine集中控制供给,而不是每个独立的驱动。增加了新的命令,可以用来生成主机的TLS证书,以提高安全性。
在Fedora / CentOS 上的升级指导 在这一部分里,我们将会学习如何在Fedora和CentOS上升级已有的docker到最新版本。请注意,目前的Docker仅运行在64位的架构上,Fedora和CentOS都源于RedHat,命令的使用是差不多相同的,除了在Fedora20和CentOS6.5里Docker包被叫做“docker-io”。
如果你系统之前没有安装Docker,使用下面命令安装:
1 2 3 4 "yum install docker-io" – on Fedora20 / CentOS6.5 "yum install docker" - on Fedora21 / CentOS7
在升级之前,备份一下docker镜像和容器卷是个不错的主意。
参考“将文件系统打成 tar 包” 与“卷备份、恢复或迁移” ,获取更多信息。
目前,测试系统安装了Docker1.5。样例输出显示是来自一个Fedora20的系统。
验证当前系统安装的Docker版本
1 2 3 [root@TestNode1 ~] Docker version 1.5 .0 , build a8a31ef/1.5 .0
如果Docker正在运行,先停掉。
使用yum update升级到最新版,但是写这篇文章的时候,仓库并不是最新版本(1.6),因此你需要使用二进制的升级方法。
1 2 3 4 5 6 7 8 9 10 11 12 [root@TestNode1 ~]#sudo yum -y update docker-io No packages marked for update [root@TestNode1 ~]#sudo wget https://get .docker.com /builds/Linux/x86_64/docker-latest -O /usr/bin/docker --2015 -04 -19 13 :40 :48 -- https://get .docker.com /builds/Linux/x86_64/docker-latest Resolving get .docker.com (get .docker.com )... 162.242 .195.82 Connecting to get .docker.com (get .docker.com )|162.242 .195.82 |:443 ... connected. HTTP request sent, awaiting response... 200 OK Length: 15443598 (15 M) [binary/octet-stream] Saving to : /usr/bin/docker100 %[======================================>] 15 ,443 ,598 8.72 MB/s in 1.7 s2015 -04 -19 13 :40 :50 (8.72 MB/s) - /usr/bin/docker saved
检查更新后的版本
1 2 3 [root@TestNode1 ~] Docker version 1.6 .0 , build 4749651
重启docker服务
确认Docker在运行
1 2 3 4 5 6 [root@TestNode1 ~] REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE fedora latest 834629358 fe2 3 months ago 241.3 MB [root@TestNode1 ~] Hello World
CentOS安装时需要注意 ,在CentOS上安装完Docker后,当你试图启动Docker服务的时候,你可能会得到错误的信息,如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 docker.service - Docker Application Container Engine Loaded: loaded (/usr/li b/systemd/system /docker.service; disabled) Active: failed (Result: exit -code) since Mon 2015 -04 -20 03 :24 :24 EDT; 6h ago Docs: http://d ocs.docker.com Process: 21069 ExecStart=/usr/ bin/docker -d $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY (code=exited, status=127 ) Main PID: 21069 (code=exited, status=127 ) Apr 20 03 :24 :24 centos7 systemd[1 ]: Starting Docker Application Container E..... Apr 20 03 :24 :24 centos7 docker[21069 ]: time ="2015-04-20T03:24:24-04:00" lev...)" Apr 20 03:24:24 centos7 docker[21069]: time=" 2015 -04 -20T03:24 :24 -04 :00 " lev...)" Apr 20 03 :24 :24 centos7 docker[21069 ]: /usr/ bin/docker: relocation error: /...ce Apr 20 03:24:24 centos7 systemd[1]: docker.service: main process exited, co.../a Apr 20 03 :24 :24 centos7 systemd[1 ]: Failed to start Docker Application Cont...e. Apr 20 03 :24 :24 centos7 systemd[1 ]: Unit docker.service entered failed state.
这是一个已知的bug(https://bugzilla.redhat.com/show_bug.cgi?id=1207839 ),需要将设备映射升级到最新。
1 2 3 4 5 6 [root@centos7 ~]# rpm -qa device-mapper device-mapper-1.02 .84 -14. el7.x86_64 [root@centos7 ~]# yum update device-mapper [root@centos7 ~]# rpm -qa device-mapper device-mapper-1.02 .93 -3. el7.x86_64 [root@centos7 ~]# systemctl start docker
总结 尽管docker技术出现时间不长,但很快就变得非常流行了。它使得开发者的生活变得轻松,运维团队可以快速独立地创建和部署应用。通过该公司的发布,Docker的快速更新,产品质量的提升,满足用户需求,未来对于Docker来说一片光明。
via: http://linoxide.com/linux-how-to/docker-1-6-features-upgrade-fedora-centos/
作者:B N Poornima 译者:wi-cuckoo 校对:wxy
本文由 LCTT 原创翻译,Linux中国 荣誉推出