1、系统要求
Docker目前只能运行在64位平台上,并且要求内核版本不低于3.10(实际上内核越新越好)。
用户可以通过以下命令查看自己系统内核版本信息
(1)、uname -a (2)、cat /proc/version
Docker目前支持的最低ubuntu版本为12.04LTS,但实际上从稳定性上考虑,推荐至少使用14.04LTS版本。如果使用12.04LTS版本,首先要更新系统内核和安装可能需要的软件包,包括:
linux-image-generic-lts-trusty(必备)、linux-headers-generic-lts-trusty(必备)、xerver-xorg-lts-trusty(带图形界面时必备)、libgll-mesa-glx-lts-trusty(带图形界面时必备),另外,为了让Docker使用aufs存储,推荐安装linux-image-extra软件包:sudo apt-get install -y linux-image-extra。
注:ubuntu发行版本中,LTS(Long-Term-Support)意味着更稳定的功能和更长期(目前为5年)的升级支持,生产环境中尽量使用LTS版本。
2、添加镜像源
(1)安装apt-transport-https包支持HTTPS协议的源
sudo apt-get install -y apt-transport-https
(2)、添加源的gpg秘钥
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
如果添加GPG Key失败,则可以参考http://wiki.ubuntu.org.cn/GPG/PGP中的说明,自行在ubuntu公钥服务器中搜索添加。
也可以直接复制下面链接中的公钥到文件key_file中,
http://keyserver.ubuntu.com/pks/lookup?op=get&fingerprint=on&search=0xF76221572C52609D
然后使用apt-key add key_file命令添加。
(3)、获取当前操作系统的代号
lsb_release -c
Codename: xenial
一般情况下,12.04(LTS)代号为precise,14.04(LTS)代号为trusty,15.04(LTS)代号为vivid,15.10(LTS)代号为wily,16.04(LTS)代号为xenial。
(4)、添加Docker的挂那份apt软件源(通过下面的命令创建/etc/apt/sources.list.d/docker.list文件,并写入源的地址内容)
echo "<REPO>" | sudo tee /etc/apt/sources.list.d/docker.list
只要将 <REPO> 替换成相应系统的源地址即可。 因为我当前的系统是16.04 所以我的命令是
echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list
(5)、添加成功后,更apt软件包。
sudo apt-get update
3、开始安装Docker
在成功添加源之后,就可以安装最新版本的Docker,软件包名称为docker-engine:
sudo apt-get install docker-engine
遇到的问题
yzh@ubuntu:~$ sudo apt-get install -y docker-engine Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: docker-engine : Depends: libltdl7 (>= 2.4.6) but it is not going to be installed Recommends: aufs-tools but it is not going to be installed Recommends: cgroupfs-mount but it is not installable or cgroup-lite but it is not going to be installed E: Unable to correct problems, you have held broken packages
此问题源于libltdl7版本过低,ubuntu16.04默认无更高版本。
解决办法:
wget http://launchpadlibrarian.net/236916213/libltdl7_2.4.6-0.1_amd64.deb
如图:
安装deb包:
sudo dpkg -i libltdl7_2.4.6-0.1_amd64.deb
安装成功之后,再次更apt软件包。
sudo apt-get update
再次安装docker-engine
sudo apt-get install docker-engine
安装成功之后
sudo docker version
得到如图: