`
frank1998819
  • 浏览: 751603 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类

如何在Fedora / CentOS上面升级Docker(转)

 
阅读更多

2015-5-22 10:26    评论: 1    

作者: https://linux.cn/article-5488-1.html

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. "yum install docker-io" on Fedora20/CentOS6.5
  2. "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 ~]#sudosystemctl stop docker

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

  1. [root@TestNode1 ~]#sudoyum-y update docker-io
  2. No packages marked for update
  3. [root@TestNode1 ~]#sudowget https://get.docker.com/builds/Linux/x86_64/docker-latest -O /usr/bin/docker
  4. --2015-04-1913:40:48-- https://get.docker.com/builds/Linux/x86_64/docker-latest
  5. Resolvingget.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,5988.72MB/s in1.7s
  11. 2015-04-1913: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 ~]#sudosystemctl start docker

确认Docker在运行

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

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

  1. docker.service -DockerApplicationContainerEngine
  2. Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled)
  3. Active: failed (Result:exit-code) since Mon2015-04-2003:24:24 EDT;6h ago
  4. Docs: http://docs.docker.com
  5. Process:21069ExecStart=/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. Apr2003:24:24 centos7 systemd[1]:StartingDockerApplicationContainer E.....
  8. Apr2003: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. Apr2003:24:24 centos7 docker[21069]:/usr/bin/docker: relocation error:/...ce
  11. Apr2003:24:24 centos7 systemd[1]: docker.service: main process exited, co.../a
  12. Apr2003:24:24 centos7 systemd[1]:Failed to start DockerApplicationCont...e.
  13. Apr2003: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/

作者:B N Poornima 译者:wi-cuckoo 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

分享到:
评论

相关推荐

    centerOS8安装Docker(1).docx

    `curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose` `chmod +x /usr/local/bin/docker-compose` 并且,需要安装 epel...

    z2d, 带Ubuntu内核,Debian 9,Devuan,Fedora 25或者 CentOS 7的零 2 Docker.zip

    z2d, 带Ubuntu内核,Debian 9,Devuan,Fedora 25或者 CentOS 7的零 2 Docker 在 5分钟内使用Ubuntu内核,Debian或者CentOS到 Docker这个 repo 包含一组脚本,帮助你在几分钟内在ARM设备上设置 16.04/Debian 8/...

    centos7环境下k8s 1.9 机docker 安装手册

    **目标**: Docker 是 Kubernetes 中必不可少的组件之一,本节介绍如何在 CentOS 7 上安装和配置 Docker。 ##### 1. 安装 Docker CE 17.03 - **步骤**: - 安装 Docker CE 相关的 SELinux 支持: ```bash # rpm -...

    centos7使用rpm方式部署docker的rpm包合集

    首先,RPM是Linux发行版如CentOS、Fedora等用来管理软件包的工具,它可以方便地安装、升级、查询和卸载软件。在CentOS 7上,我们通常使用`yum`命令行工具,它是RPM的前端,能够处理软件包依赖关系。 标题中的...

    Docker容器化在ROS开发与部署中的应用

    ### Docker容器化在ROS开发与部署中的应用 #### Docker简介 Docker是一个开源的应用容器引擎,它通过将应用程序及其依赖项打包成一个轻量级、可移植的容器,极大地简化了应用程序的部署流程。这种技术使得开发人员...

    Docker安装部署手册.docx

    - **说明**: 在麒麟 V10 系统上安装 Docker,具体步骤与 CentOS 类似,主要区别在于使用的包管理工具为 yum。 ### 总结 本手册提供了详细的 Docker 安装指南,覆盖了 CentOS 7.6、CentOS 8 和麒麟 V10 等多种操作...

    docker安装 (2).docx

    Docker 是一款开源的应用容器引擎,其核心价值在于让开发者能够将应用程序及其运行时环境封装在一个轻量级、可移植的容器中。通过这种方式,可以确保应用程序无论在何处运行(开发、测试还是生产环境)都能获得一致...

    docker linux 离线安装包

    在Linux环境中,Docker是一种流行的开源容器化平台,它允许开发者打包他们的应用及其依赖环境到一个可移植的容器中,从而实现跨平台的无缝运行。本文将详细介绍如何在没有网络连接的情况下,在Linux系统上离线安装...

    安装docker-compose的两种最简方法

    1. 首先确保你的系统已经安装了EPEL(Extra Packages for Enterprise Linux)仓库,它是Fedora维护的用于RHEL/CentOS的一个软件仓库,包含了更多的Python相关包: ``` yum -y install epel-release ``` 2. 安装...

    docker.zip

    Docker 是一种流行的开源容器化平台,它允许开发者将应用程序及其依赖环境打包成轻量级、可移植的容器,从而实现快速、一致地在任何环境中部署和运行。在这个"docker.zip"压缩包中,我们找到了适用于Linux系统的...

    docker-ce-18.03.0全部依赖RPM

    2. 将RPM包添加到本地YUM仓库:将解压后的RPM文件移动到系统的RPM仓库目录,通常为`/var/yum/repo/`,并确保仓库文件夹存在,例如`sudo mkdir -p /var/yum/repo/docker && sudo cp *.rpm /var/yum/repo/docker/`。...

    linux基础之Centos7配置阿里yum源

    yum (全称为 Yellow dogUpdater,modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖...

    详解在 CentOS 6.x上安装 docker.io

    需要注意的是CentOS 6.5与7.0的安装是有一点点不同的,CentOS-6上docker的安装包叫docker-io,并且来源于Fedora epel库,这个仓库维护了大量的没有包含在发行版中的软件,所以先要安装EPEL,而CentOS-7的docker直接...

    docker-1.7.0 rpm安装包

    RPM(Red Hat Package Manager)是RHEL及其兼容发行版如CentOS、Fedora等操作系统中的软件包管理器,用于安装、升级、查询、验证和删除软件包。 首先,我们需要确保系统已经更新并且安装了必要的依赖项。在RHEL 6.5...

    docker安装包+依赖包

    在您提供的信息中,“docker20容器rpm离线安装包”指的是 Docker 20.10 版本的 RPM 包,适用于 Red Hat Package Manager (RPM) 系统,如 CentOS、Fedora 或 RHEL。RPM 包是一种软件包管理格式,用于在这些Linux发行...

    详解Centos6.5下docker 环境搭建

    因为CentOS 6.5默认内核版本较低(2.6系列),因此在部署Docker之前,需要对内核进行升级。 ##### 1. 查看当前内核版本 ```bash [root@localhost ~]# more /etc/issue CentOS release 6.5 (Final) Kernel \r on an...

Global site tag (gtag.js) - Google Analytics