Ubuntu环境下安装Docker
1. 系统要求
Docker目前只能运行在64位平台上,并且要求内核版本不低于3.10,实际上内核越新越好,过低的内核版本容易造成功能不稳定。
可以通过如下命令检查自己的内核版本详细信息:
$ uname -a
或者
$ cat /proc/version
Docker目前支持的最低Ubuntu版本为12.04LTS,但实际上从稳定性上考虑,推荐至少使用14.04LTS版本
查看Ubuntu版本号命令为
$ lsb_release -r
查看Ubuntu代号命令为
$ lsb_release -c
不同Ubuntu版本号及代号如下
Artful 17.10 (Docker CE 17.11 Edge)、Zesty 17.04、Xenial 16.04 (LTS)、Wily 15.10、Vivid 15.04、Trusty 14.04 (LTS)、Precise 12.04(LTS)
如果使用12.04LTS版本,首先要更新系统内核和安装可能需要的软件包,包括:
linux-image-generic-lts-trusty(必备)
linux-headers-generic-lts-trusty(必备)
xserver-xorg-lts-trusty(带图形界面时必备)
libgll-mesa-glx-lts-trusty(带图形界面时必备)
另外,从 Ubuntu 14.04 开始,一部分内核模块移到了可选内核模块包 (linux-image-extra-*) ,以减少内核软件包的体积。正常安装的系统应该会包含可选内核模块包,而一些裁剪后的系统可能会将其精简掉。AUFS 内核驱动属于可选内核模块的一部分,为了让Docker使用aufs存储,推荐安装linux-iamge-extra软件包。
$ sudo apt-get insall -y linux-image-extra-$(uname -r)
2. 添加镜像源
正式操作前建议先更新一下apt 的缓存,尤其是安装完Ubuntu之后第一次运行
$ sudo apt-get update
首先需要安装apt-transport-https包支持HTTPS协议的源,以及CA证书:
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
其次添加源的gpg密钥:
国内源地址
$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
官方源地址
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
再次添加Docker的apt软件源:
可以使用如下命令添加apt软件源
国内源:
$ sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"
官方源:
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
另外,《Docker技术入门与实战》第2版中的方法是通过下面的命令创建/etc/apt/sources.list.d/docker.list文件,并写入源地址内容,注意修改自己系统对应的代号。书中安装的trusty版本,我想安装artful版本。
$ sudo cat <<EOF > /etc/apt/sources.list.d/docker.list
> deb https://apt.dockerproject.org/repo ubuntu-atrful main
> EOF
然而在下面的一步更新apt软件包缓存时出错,访问上述https地址出错,报403 Forbidden错。后来进入上面的地址查看,发现上面地址最晚更新时间为2017年,最新版本为ubuntu-xenial,并没有artful版本。因此Ubuntu系统为16.04及以下的可以使用该方法。
最后,添加完Docker源,更新apt软件包缓存
$ sudo apt-get update
还可以使用如下命令来查看有哪些版本的Docker可以使用
$ apt-cache policy docker-ce
或
$ apt-cache policy docker-engine
注意,2017年的3月1号之后,Docker的版本命名开始发生变化,同时将CE版本和EE版本进行分开,CE是社区版,EE是企业版。查看artful版本时,使用docker-ce,而使用docker-engine则查不到。xenial 版本及之前的,还可以使用docker-engine。
3. 开始安装Docker
在成功添加源之后,就可以安装最新版本的docker了,artful及之后版本使用docker-ce,xenial及之前版本使用docker-engine。
$ sudo apt-get install docker-ce
或
$ sudo apt-get install docker-engine
如果系统中存在较旧版本的Docker,会提示是否先删除,选择“是”即可。
另外,还可以使用脚本自动安装
在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,Ubuntu 系统上可以使用这套脚本安装:
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的 Edge 版本安装在系统中。
4. 启动 Docker CE
$ sudo systemctl enable docker
$ sudo systemctl start docker
Ubuntu 14.04 请使用以下命令启动,atrful版本无法使用以下命令:
$ sudo service docker start
5. 验证Docker是否安装成功
运行如下命令,Docker会下载一个镜像,并运行在一个窗口中,输出信息
$ sudo docker run hello-world
6. 将当前用户添加到安装中自动创建的docker用户组:
$ sudo usermod -aG docker $USER