问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

在Linux服务器上升级Docker的教程

提问网友 发布时间:2025-02-09 12:37
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
1个回答
热心网友 回答时间:2025-02-09 19:44

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,使用下面命令安装:

"yum install docker-io" – on Fedora20 / CentOS6.5

"yum install docker" - on Fedora21 / CentOS7

在升级之前,备份一下docker镜像和容器卷是个不错的主意。

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

目前,测试系统安装了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),需要将设备映射升级到最新。

复制代码代码如下:[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来说一片光明。

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

梦见踩泥巴把鞋子弄脏了的含义梦见踩泥巴把鞋子弄脏了是什么意思 梦见踩到泥里弄脏了鞋什么意思梦见踩到泥里弄脏了鞋好不好 成都双流飞南昌要多久 成都到南昌国道要多久 run和fast有什么区别 微信为什么不能转帐 为什么我微信不能转账 手指生湿疹怎么根治? 旅行社违约滞留退款投诉方法 求史密斯夫妇最后两人抗击特种部队时的插曲 <史密斯夫妇>那电影最后的枪战时,那首插曲是什么啊??? 史密斯夫妇影片最后的背景音乐叫什么 是个男人的声音唱的 看电脑系统多少位怎么看电脑多少位系统 如何查询电脑位数如何看电脑是是32位系统还是62位系统 win7电脑位数查询如何查询电脑操作系统是多少位的 福田雷沃FT100ZY-2三轮摩托车广西合浦哪有卖?电话?价格? 肇事逃逸后又自首怎么处罚 交通肇事逃逸后自首,会被拘留多久? 肇事逃逸后自首,如何处罚? 肇事逃逸后如实自首是否需要拘留 docker-安装kafka队列服务-kafka 通过Docker启动Solace,并在Spring Boot通过JMS整合Solace 转发:轻松理解 Docker 网络虚拟化基础之 veth 设备! RabbitMQ 实现延迟队列的两种方式! 刚舟鲤大物跟巨物的区别 有130g之内的5.4台钓杆吗? 王者荣耀谐音搞笑名字 s9八强赛赛程火箭客场4连胜客场8连胜现排西部第9能不能进季后赛呢_百度... 粉色网纱拼接裙适合搭配哪些款式的鞋子? 保险满期日期是什么意思? ADSD1278|24位8通道工业级同步采样ADC,非常低漂移和带内噪声,振动分析... 企鹅的翅膀有什么用企鹅的翅膀是用来干什么用的 企鹅的翅膀是用来干什么的?关于企鹅的翅膀用途 酒店灯光检查哪些内容 装了个建行的“国建设银行E路护航网银安全组件”后 开机需要按F1才能继... 为什么我的电脑已下载建设银行E路护航网银安全组件(大明),但交易时提 ... 建行e路通安全组件下到哪里才可以在不同的电脑使用? 新冠是什么病毒dna还是rna 台式机无线网卡怎么用台式机USB无线网卡安装使用教程 台式电脑无线u盘wifl怎么安装
Top