牛牛逼逼叉叉
菜单

在Fedora/CentOS上面升级Docker1.6

2015年06月10日,分类《系统运维》,作者:
博客捐助

在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镜像和容器卷是个不错的主意。

参考“将文件系统打成 tar 包”“卷备份、恢复或迁移”,获取更多信息。

目前,测试系统安装了Docker1.5。样例输出显示是来自一个Fedora20的系统。

验证当前系统安装的Docker版本

  1. [root@TestNode1 ~]#sudo docker -v
  2. Docker version 1.5.0, build a8a31ef/1.5.0

如果Docker正在运行,先停掉。

  1. [root@TestNode1 ~]# sudo systemctl stop docker

使用yum update升级到最新版,但是写这篇文章的时候,仓库并不是最新版本(1.6),因此你需要使用二进制的升级方法。

  1. [root@TestNode1 ~]#sudo yum -y update docker-io
  2. No packages marked for update
  3. [root@TestNode1 ~]#sudo wget https://get.docker.com/builds/Linux/x86_64/docker-latest -O /usr/bin/docker
  4. --2015-04-19 13:40:48-- https://get.docker.com/builds/Linux/x86_64/docker-latest
  5. Resolving get.docker.com (get.docker.com)... 162.242.195.82
  6. Connecting to get.docker.com (get.docker.com)|162.242.195.82|:443... connected.
  7. HTTP request sent, awaiting response... 200 OK
  8. Length: 15443598 (15M) [binary/octet-stream]
  9. Saving to: /usr/bin/docker
  10. 100%[======================================>] 15,443,598 8.72MB/s in 1.7s
  11. 2015-04-19 13:40:50 (8.72 MB/s) - /usr/bin/docker saved

检查更新后的版本

  1. [root@TestNode1 ~]#sudo docker -v
  2. Docker version 1.6.0, build 4749651

重启docker服务

  1. [root@TestNode1 ~]# sudo systemctl start docker

确认Docker在运行

  1. [root@TestNode1 ~]# docker images
  2. REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
  3. fedora latest 834629358fe2 3 months ago 241.3 MB
  4. [root@TestNode1 ~]# docker run fedora /bin/echo Hello World
  5. Hello World

CentOS安装时需要注意,在CentOS上安装完Docker后,当你试图启动Docker服务的时候,你可能会得到错误的信息,如下所示:

  1. docker.service - Docker Application Container Engine
  2. Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled)
  3. Active: failed (Result: exit-code) since Mon 2015-04-20 03:24:24 EDT; 6h ago
  4. Docs: http://docs.docker.com
  5. Process: 21069 ExecStart=/usr/bin/docker -d $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY (code=exited, status=127)
  6. Main PID: 21069 (code=exited, status=127)
  7. Apr 20 03:24:24 centos7 systemd[1]: Starting Docker Application Container E.....
  8. Apr 20 03:24:24 centos7 docker[21069]: time="2015-04-20T03:24:24-04:00" lev...)"
  9. Apr 20 03:24:24 centos7 docker[21069]: time="2015-04-20T03:24:24-04:00" lev...)"
  10. Apr 20 03:24:24 centos7 docker[21069]: /usr/bin/docker: relocation error: /...ce
  11. Apr 20 03:24:24 centos7 systemd[1]: docker.service: main process exited, co.../a
  12. Apr 20 03:24:24 centos7 systemd[1]: Failed to start Docker Application Cont...e.
  13. 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. [root@centos7 ~]# rpm -qa device-mapper
  2. device-mapper-1.02.84-14.el7.x86_64
  3. [root@centos7 ~]# yum update device-mapper
  4. [root@centos7 ~]# rpm -qa device-mapper
  5. device-mapper-1.02.93-3.el7.x86_64
  6. [root@centos7 ~]# systemctl start docker

总结

尽管docker技术出现时间不长,但很快就变得非常流行了。它使得开发者的生活变得轻松,运维团队可以快速独立地创建和部署应用。通过该公司的发布,Docker的快速更新,产品质量的提升,满足用户需求,未来对于Docker来说一片光明。


via: http://linoxide.com/linux-how-to/docker-1-6-features-upgrade-fedora-centos/



发表评论

电子邮件地址不会被公开。 必填项已用*标注

【上一篇】

如何在Linux中产生、加密或解密随机密码

【下一篇】

基于Kickstart自动化安装CentOS实践