溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在Linux服務(wù)器上升級Docker

發(fā)布時間:2021-08-02 21:43:47 來源:億速云 閱讀:223 作者:chen 欄目:系統(tǒng)運維

這篇文章主要講解了“怎么在Linux服務(wù)器上升級Docker”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么在Linux服務(wù)器上升級Docker”吧!

Docker,一個流行的將軟件打包的開源容器平臺,已經(jīng)有了新的1.6版,增加了許多新的特性。該版本主要更新了Docker Registry、Engine、 Swarm、 Compose 和 Machine等方面。這次發(fā)布旨在提升性能、改善開發(fā)者和系統(tǒng)管理員的體驗。讓我們來快速看看有哪些新特性吧。

Docker Registry (2.0)是一項推送Docker鏡像用于存儲和分享的服務(wù),因為面臨加載下的體驗問題而經(jīng)歷了架構(gòu)的改變。它仍然向后兼容。Docker Registry的編寫語言現(xiàn)在從Python改為Google的Go語言了,以提升性能。與Docker Engine 1.6結(jié)合后,拉取鏡像的能力更快了。早先的鏡像是隊列式輸送的,而現(xiàn)在是并行的啦。

Docker Engine (1.6)相比之前的版本有很大的提高。目前支持容器與鏡像的標(biāo)簽。通過標(biāo)簽,你可以附加用戶自定義的元數(shù)據(jù)到鏡像和容器上,而鏡像和容器反過來可以被其他工具使用。標(biāo)簽對正在運行的應(yīng)用是不可見的,可以用來加速搜索容器和鏡像。

Windows版本的Docker客戶端可以連接到遠(yuǎn)程的運行在linux上的Docker Engine。

Docker目前支持日志驅(qū)動API,這允許我們發(fā)送容器日志給系統(tǒng)如Syslog,或者第三方。這將會使得系統(tǒng)管理員受益。

Swarm (0.2)是一個Docker集群工具,可以將一個Docker主機池轉(zhuǎn)換為一個虛擬主機。在新特性里,容器甚至被放在了可用的節(jié)點上。通過添加更多的Docker命令,努力支持完整的Docker API。將來,使用第三方驅(qū)動來集群會成為可能。

Compose (1.2) 是一個Docker里定義和運行復(fù)雜應(yīng)用的工具, 也得到了升級。在新版本里,可以創(chuàng)建多個子文件,而不是用一個沒有結(jié)構(gòu)的文件描述一個多容器應(yīng)用。

通過Machine (0.2),我們可以很容易地在本地計算機、云和數(shù)據(jù)中心上搭建Docker主機。新的發(fā)布版本為開發(fā)者提供了一個相對干凈地驅(qū)動界面來編寫驅(qū)動。Machine集中控制供給,而不是每個獨立的驅(qū)動。增加了新的命令,可以用來生成主機的TLS證書,以提高安全性。
在Fedora / CentOS 上的升級指導(dǎo)

在這一部分里,我們將會學(xué)習(xí)如何在Fedora和CentOS上升級已有的docker到最新版本。請注意,目前的Docker僅運行在64位的架構(gòu)上,F(xiàn)edora和CentOS都源于RedHat,命令的使用是差不多相同的,除了在Fedora20和CentOS6.5里Docker包被叫做“docker-io”。

如果你系統(tǒng)之前沒有安裝Docker,使用下面命令安裝:

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

"yum install docker"  - on Fedora21 / CentOS7

在升級之前,備份一下docker鏡像和容器卷是個不錯的主意。

參考“將文件系統(tǒng)打成 tar 包”與“卷備份、恢復(fù)或遷移”,獲取更多信息。

目前,測試系統(tǒng)安裝了Docker1.5。樣例輸出顯示是來自一個Fedora20的系統(tǒng)。

驗證當(dāng)前系統(tǒng)安裝的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),因此你需要使用二進(jìn)制的升級方法。

   

代碼如下:

[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服務(wù)

   

代碼如下:

[root@TestNode1 ~]# sudo systemctl start docker

確認(rèn)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后,當(dāng)你試圖啟動Docker服務(wù)的時候,你可能會得到錯誤的信息,如下所示:

   

代碼如下:

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),需要將設(shè)備映射升級到最新。

   

代碼如下:

[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

總結(jié)

盡管docker技術(shù)出現(xiàn)時間不長,但很快就變得非常流行了。它使得開發(fā)者的生活變得輕松,運維團(tuán)隊可以快速獨立地創(chuàng)建和部署應(yīng)用。通過該公司的發(fā)布,Docker的快速更新,產(chǎn)品質(zhì)量的提升,滿足用戶需求,未來對于Docker來說一片光明。

感謝各位的閱讀,以上就是“怎么在Linux服務(wù)器上升級Docker”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么在Linux服務(wù)器上升級Docker這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI