1. 程式人生 > >在特定環境中安裝指定版本的Docker

在特定環境中安裝指定版本的Docker

通常用官方提供的安裝指令碼或軟體源安裝都是安裝的比較新 Docker 版本,有時我們需要在一些特定環境的伺服器上安裝指定版本的 Docker。今天我們就來講一講如何安裝指定版本的 Docker 。

通過手動安裝

增加軟體安裝源

  • Ubuntu

匯入軟體倉庫證書

$ apt-key adv –keyserver hkp://pgp.mit.edu:80 –recv-keys 58118E89F3A912897C070ADBF76221572C52609D

新增一個 docker.list 檔案,在其中增加對應的軟體安裝源。

# Ubuntu Precise
deb https://apt.dockerproject.org/repo ubuntu-precise main

# Ubuntu Trusty
deb https://apt.dockerproject.org/repo ubuntu-trusty main

# Ubuntu Xenial
deb https://apt.dockerproject.org/repo ubuntu-xenial main

以 Ubuntu 16.04 為例:

$ vim /etc/apt/sources.list.d/docker.list

deb https://apt.dockerproject.org/repo ubuntu-xenial main

  • CentOS

新增一個 docker.repo 檔案,在其中增加對應的軟體安裝源。 這裡以 CentOS 7 為例:

$ cat >/etc/yum.repos.d/docker.repo <<EOF
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

更新軟體源

  • Ubuntu

$ apt-get update

  • CentOS

$ yum makecache

顯示軟體源中所有Docker軟體包安裝資訊

  • Ubuntu

$ apt-cache policy docker-engine

docker-engine:
Installed: (none)
Candidate: 17.05.0~ce-0~ubuntu-xenial
Version table:
17.05.0~ce-0~ubuntu-xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
17.04.0~ce-0~ubuntu-xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
17.03.1~ce-0~ubuntu-xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
17.03.0~ce-0~ubuntu-xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
1.13.1-0~ubuntu-xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
1.13.0-0~ubuntu-xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
1.12.6-0~ubuntu-xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
1.12.5-0~ubuntu-xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
1.12.4-0~ubuntu-xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
1.12.3-0~xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
1.12.2-0~xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
1.12.1-0~xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
1.12.0-0~xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
1.11.2-0~xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
1.11.1-0~xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
1.11.0-0~xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages

  • CentOS

$ yum provides docker-engine

移除其它版本Docker

如果之前存在其它版本的Docker,可以使用以下命令先移出:

  • Ubuntu

$ apt-get purge docker-engine

  • CentOS

$ yum remove docker-engine

安裝指定版本Docker

根據實際情況,選定要安裝的 Docker 版本進行安裝。這裡以安裝 1.13.1 版本為例:

  • Ubuntu

如果 Ubuntu 為 14.04 建議先裝上以下兩個軟體包。

$ apt-get install \
linux-image-extra-$(uname -r) \
linux-image-extra-virtual

$ apt-get install docker-engine=1.13.1-0~ubuntu-xenial

  • CentOS

$ yum install docker-engine-1.13.1-1.el7.centos.x86_64

驗證Docker版本

$ docker -v
Docker version 1.13.1, build 092cba3

通過指令碼一鍵安裝

如果覺得手動安裝太過複雜,也可以直接使用下面的指令碼一鍵安裝:

$ curl -sSL https://github.com/gitlawr/install-docker/blob/1.0/.sh?raw=true | sh

或者:

$ wget -qO- https://github.com/gitlawr/install-docker/blob/1.0/.sh?raw=true | sh

使用需要的 Docker 版本替換以下指令碼中的 ,目前該指令碼支援的 Docker 版本:

1.10.3
1.11.2
1.12.1
1.12.2
1.12.3
1.12.4
1.12.5
1.12.6
1.13.0
1.13.1
17.03.0
17.03.1
17.04.0

注:指令碼使用 USTC 的軟體包倉庫,已基於 Ubuntu_Xenial , CentOS7 以及 Debian_Jessie 完成測試。指令碼會根據 Linux 發行版有少許區別,比如 Ubuntu 16.04 下不相容 Docker-1.10.3。

這裡以安裝 1.13.1 為例:

原文來自微信公眾號:運維之美,參考文件:

http://www.google.com
http://www.cnblogs.com/yanghuahui/p/4874937.html
https://blog.phpgao.com/docker_install_specific_version.html