mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
168 lines
7.2 KiB
Markdown
168 lines
7.2 KiB
Markdown
Docker 1.6 发布 - 如何在Fedora / CentOS上面升级
|
||
=============================================================================
|
||
Docker,一个为软件打包的流行开源容器平台,有了新的发行版1.6,增加了许多新的特性。该版本在Docker注册,引擎,云集,组合和机器方面都有更新。这次发行旨在提升体验,开发者和系统管理员的经验(这里不太确定)。让我们来快速看看有哪些新特性吧。
|
||
|
||
**Docker Registry (2.0)**是一项推送Docker镜像用于存储和分享的服务,经历过架构的改变,因为面临加载下的体验问题。它仍然向下兼容。Docker Registry的编写语言现在从Python改为Google的Go语言了,为了提升表现力。与Docker引擎1.6结合后,拉取镜像的能力更快了。早先的镜像被队列式地输送,而现在是并行的啦。
|
||
|
||
**Docker Engine (1.6)**相比之前的版本有很大的提高。目前支持容器与镜像标签。通过标签,你可以附加用户自定义的元数据到镜像和容器上,而镜像和容器反过来可以被其他工具使用。标签对正在运行的应用是不可见的,可以用来加速搜索容器和镜像。
|
||
|
||
Windows版本的Docker客户端可以连接一个远程的运行linux的Docker引擎。
|
||
|
||
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,使用下面命令安装:
|
||
|
||
"yum install docker-io" – on Fedora20 / CentOS6.5
|
||
|
||
"yum install docker" - on Fedora21 / CentOS7
|
||
|
||
在升级之前,备份一下docker镜像和容器卷是个不错的主意。
|
||
|
||
参考[filesystem to a tar archive][1]与[volumes backups, restores or migrations options][2],获取更多信息。
|
||
|
||
目前,测试系统安装了Docker1.5。样例输出显示是来自一个Fedora20的系统。
|
||
|
||
验证当前系统安装的Docker版本
|
||
|
||
[root@TestNode1 ~]#sudo docker -v
|
||
|
||
Docker version 1.5.0, build a8a31ef/1.5.0
|
||
|
||
如果Docker正在运行,先停掉。
|
||
|
||
[root@TestNode1 ~]# sudo systemctl stop docker
|
||
|
||
升级到最新版使用yum update。但是写这篇文章的时候,仓库并不是最新版本(1.6)。因此你需要使用二进制的升级方法。
|
||
|
||
[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 (15M) [binary/octet-stream]
|
||
|
||
Saving to: /usr/bin/docker
|
||
|
||
100%[======================================>] 15,443,598 8.72MB/s in 1.7s
|
||
|
||
2015-04-19 13:40:50 (8.72 MB/s) - /usr/bin/docker saved
|
||
|
||
检查更新版本
|
||
|
||
[root@TestNode1 ~]#sudo docker -v
|
||
|
||
Docker version 1.6.0, build 4749651
|
||
|
||
重启docker服务
|
||
|
||
[root@TestNode1 ~]# sudo systemctl start docker
|
||
|
||
确认Docker在运行
|
||
|
||
[root@TestNode1 ~]# docker images
|
||
|
||
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
|
||
|
||
fedora latest 834629358fe2 3 months ago 241.3 MB
|
||
|
||
[root@TestNode1 ~]# docker run fedora /bin/echo Hello World
|
||
|
||
Hello World
|
||
|
||
CentOS安装时需要**注意**,在CentOS上安装完Docker后,当你试图启动Docker服务的时候,你可能会得到错误的信息,如下所示
|
||
|
||
docker.service - Docker Application Container Engine
|
||
|
||
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled)
|
||
|
||
Active: failed (Result: exit-code) since Mon 2015-04-20 03:24:24 EDT; 6h ago
|
||
|
||
Docs: http://docs.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][3]),需要一个设备映射的升级,到最新的水平。
|
||
|
||
[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][a]
|
||
译者:[wi-cuckoo](https://github.com/wi-cuckoo)
|
||
校对:[校对者ID](https://github.com/校对者ID)
|
||
|
||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||
|
||
[a]:http://linoxide.com/author/bnpoornima/
|
||
[1]:http://docs.docker.com/reference/commandline/cli/#export
|
||
[2]:http://docs.docker.com/userguide/dockervolumes/#backup-restore-or-migrate-data-volumes
|
||
[3]:https://bugzilla.redhat.com/show_bug.cgi?id=1207839
|
||
[4]:
|
||
[5]:
|
||
[6]:
|
||
[7]:
|
||
[8]:
|
||
[9]:
|
||
[10]:
|
||
[11]:
|
||
[12]:
|
||
[13]:
|
||
[14]:
|
||
[15]:
|
||
[16]:
|
||
[17]:
|
||
[18]:
|
||
[19]:
|
||
[20]:
|