Linux中國

如何在Fedora / CentOS上面升級Docker 1.6

在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來說一片光明。

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

作者:B N Poornima 譯者:wi-cuckoo 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國