Docker容器最早受到RHEL完善的支持是从最近的CentOS 7.0开始的,官方说明是只能运行于64位架构平台,内核版本为2.6.32-431及以上(即 >= CentOS 6.5,运行docker时实际提示3.10.0及以上)。 需要注意的是CentOS 6.5与7.0的安装是有一点点不同的,CentOS 6.x上Docker的安装包叫docker-io,并且来源于Fedora epel库,这个仓库维护了大量的没有包含在发行版中的软件,所以先要安装EPEL,而CentOS 7.x的Docker直接包含在官方镜像源的Extras仓库。
由于内核版本太低,会导致docker非常卡,所以建议升级至最新版本内核。
一、内核升级
1.检查内容版本
$ uname -r
2.6.32-431.el6.x86_64
# 结果:2.6.32-431.el6.x86_64,不满足上文的需求,故此需要升级内核。
2. 导入公钥数字证书
$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
#:如果显示报错:
curl: (35) SSL connect error
error: https://www.elrepo.org/RPM-GPG-KEY-elrepo.org: import read failed(2).
运行 yum update nss,然后在导入证书就可以了
3. 安装ELRepo
rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
4. 升级kernel
这里需要注意的是,在 ELRepo 中有两个内核选项,一个是 kernel-lt(长期支持版本),一个是 kernel-ml(主线最新版本),采用长期支持版本(kernel-lt),更稳定一些
# kernel-lt
$ yum --enablerepo=elrepo-kernel install kernel-lt -y
or
# kernel-ml
$ yum --enablerepo=elrepo-kernel install kernel-ml -y
5. 安装完成,需要修改grub
根据安装好以后的内核位置,修改 default 的值,一般是修改为0,因为 default 从 0 开始,一般新安装的内核在第一个位置,所以设置default=0
$ vi /etc/grub.conf
default=0
6. 重启
$ reboot
重启完成,查看内核版本
$ uname -r
4.4.168-1.el6.elrepo.x86_64
二、安装docker
1. 安装epel
EPEL 是什么?
EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目,为RHEL/CentOS提供他们默认不提供的软件包。这个源兼容RHEL及像CentOS和Scientific Linux这样的衍生版本。
我们可以很容易地通过yum命令从EPEL源上获取上万个在CentOS自带源上没有的软件。EPEL提供的软件包大多基于其对应的Fedora软件包,不会与企业版Linux发行版本的软件发生冲突或替换其文件。
$ yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
安装完之后检查是否成功
$ yum repolist
2. 安装docker
$ yum install -y docker-io
3. 启动docker
以守护进程启动
$ docker -d
#如果显示报错:
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
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
更新libdevmapper
$ yum update -y device-mapper-libs
然后重新启动,如果不报错说明安装成功
4.以服务在后台启动
$ service docker start
通过命令查看docker运行状态
$ service docker status
日志查看
$ tail -f /var/log/messages
ps:最后得说一句,如果可以用centos7最好就不要用6,因为centos6只能安装到1.7.1的版本,很多功能是缺失的,后面真正使用docker的时候很折腾
centos7安装docker:https://blog.csdn.net/qq_24384579/article/details/85617478