一、升级内核
要安装docker 推荐linux内核要高于3.1.0
1、查看内核版本 uname -r
2、导入key(需要root权限):rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
如果报错
curl: (6) Couldn't resolve host 'www.elrepo.org'
则表示DNS解析有问题,需要配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0
进入编辑模式
末尾添加DNS配置,如下图:
查看nameserver是否显示正确:
cat /etc/reslv.conf |grep names
重新导入key,如果报curl: (35) SSL connect error错误则输入yum update nss
理论上DNS配置完成
重新运行 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
3、安装ELRepo到CentOS
rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
4、安装内核
yum --enablerepo=elrepo-kernel install kernel-lt –y
将yum默认的下载源更换为国内的源能使下载速度更快。我选择了阿里的源,同样也可以选择网易163或者其他的。网址:阿里云开源镜像站
更换源方法如下:
在镜像站首页找到自己的Linux版本(我的是CentOS 6.5),点击help。新打开的网页中详细的说明了如何备份,如何更换镜像源(在Linux的Terminal中):
1、备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/
CentOS5:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS6:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS7:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3、之后运行yum makecache生成缓存
yum makecache
PS:更换完源进行下载或者生成缓存时可能遇到以下错误:
[Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found" Trying other mirror.
[Errno 14] PYCURL ERROR 7 - "couldn't connect to host" Trying other mirror.
[Errno 256] No more mirrors to try.
有效的解决方法:
yum clean all
rpm --rebuilddb
执行完上述两条语句重新使用yum下载或者生成缓存即可成功
5、修改引导文件,将默认引导改为0
vi /etc/grub.conf
改为default=0
6、重启查看版本
4.4.102-1.el6.elrepo.x86_64
二、安装Docker
yum install docker-io
如果报错先安装yum源,提示:No package docker-io available
yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
安装后再次安装Docker
ps. centos 6安装的docker是1.7的,非常老,找了下资料有个升级到1.9的,可以使用,供参考
## download
curl -sSL -O https://get.docker.com/builds/Linux/x86_64/docker-1.9.1
## grant privilege
chmod +x docker-1.9.1
## backup and make new
mv /usr/bin/docker /usr/bin/docker-1.7
cp ./docker-1.9.1 /usr/bin/docker
## restart docker
/etc/init.d/docker restart
执行 :docker ps
遇到错误
Get http:///var/run/docker.sock/v1.19/images/json: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?
问题解决 执行:service docker restart
执行 :docker ps
遇到错误
Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
问题解决 执行:docker -d
遇到错误
Cannot connect to the Docker daemon. Is ‘docker -d’ running on this host? 执行:docker -d docker: relocation error: docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference
问题解决 执行:yum upgrade device-mapper-libs
启动Docker
service docker start
查看Docker版本
docker version
卸载Docker
查看已安装的包:yum list installed | grep docker
删除软件包:yum -y remove docker-io.x86_64
删除镜像/容器:rm -rf /var/lib/docker
参考文档:https://www.cnblogs.com/saneri/p/6178536.htm
https://www.jianshu.com/p/60394d75f21f
https://www.cnblogs.com/evilkind/p/6560107.html
https://www.jianshu.com/p/31248c006c06