本文章来自【知识林】
如果没有Centos的操作系统可以安装虚拟机也可以直接在Windows8.1以上的操作系统中安装使用Docker,可参照文档《Windows 8 安装Docker》
-
查看系统版本,命令:
lsb_release -a
[root@localhost ~]# lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.4 (Final)
Release: 6.4
Codename: Final
可以看出是64位的CentOs 6.4版本的操作系统
-
查看内核,命令:
uname -a
[root@localhost ~]# uname -a
Linux localhost 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
可以看出内核版本是2.6.32的,由于Docker是一门较新的技术,所以对系统的要求也是比较新的,Docker需要在内核版本至少在3.0以后的版本中运行,所以第一步工作则是升级Centos的内核版本。
-
依次使用以下命令升级Centos内核
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
yum -y --enablerepo=elrepo-kernel install kernel-lt
升级完成后可以在文件/etc/grub.conf
看到内核为3.10.103的配置信息,使用命令more /etc/grub.conf
即可查看:
……
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (3.10.103-1.el6.elrepo.x86_64)
root (hd0,0)
kernel /vmlinuz-3.10.103-1.el6.elrepo.x86_64 ro root=UUID=94dcb85c-81c7-45ec-a005-6b895f12961b rd_NO_LUKS KEYBOARDTYPE=pc KEYTAB
LE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
initrd /initramfs-3.10.103-1.el6.elrepo.x86_64.img
title CentOS (2.6.32-358.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=UUID=94dcb85c-81c7-45ec-a005-6b895f12961b rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us r
d_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-358.el6.x86_64.img
在这个配置文件中可以看到有两个内桥版本,第一个(下标为0)版本为3.10.103,也就是刚刚升级所产生的,第二个(下标为1)版本为2.6.32,这是系统原生的内桥版本,但可以看到上面有default 1
,即表示系统默认使用下标为1的内核,所以我们只用将default 1
修改为default 0
即可。修改后保存退出并重启即可使用高版本的内核启动操作系统(重启系统命令:reboot
)。
-
查看升级情况,命令:
uname -a
[root@localhost ~]# uname -a
Linux localhost 3.10.103-1.el6.elrepo.x86_64 #1 SMP Sun Aug 28 16:41:49 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux
可以看出现在的内核版本已经是3.10.103版本的了。
-
更新几个工具
依次输入以下命令:
yum clean all
yum update glibc* yum* rpm* python*
yum update
安装过程中需要根据提示输入几次 y
以确定升级,完成后输入命令 reboot
重启服务器。
-
安装Docker
在Docker官方网站 中可以找到相应的安装说明,上面讲述了两种安装方法:
Install with yum
:这个方法主要对Centos7以上版本使用。
Install with the script
:使用脚本方式安装Docker
使用命令curl -fsSL https://get.docker.com/ | sh
安装Docker
[root@localhost ~]# curl -fsSL https://get.docker.com/ | sh
+ sh -c 'sleep 3; yum -y -q install docker-engine'
warning: rpmts_HdrFromFdno: Header V4 RSA/SHA1 Signature, key ID 2c52609d: NOKEY
Importing GPG key 0x2C52609D:
Userid: "Docker Release Tool (releasedocker) <docker@docker.com>"
From : https://yum.dockerproject.org/gpg
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker your-user
Remember that you will have to log out and back in for this to take effect!
这里有提示:sudo usermod -aG docker your-user
需要修改一些用户的权限,我这里是使用的root用户,所以我可以使用以下命令修改:
sudo usermod -aG docker root
安装完成后输入docker --version
查看Docker的版本:
[root@localhost ~]# docker --version
Docker version 1.7.1, build 786b29d
-
查看Docker的镜像
命令:docker images
看到:
[root@localhost ~]# docker images
Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
表示Docker服务未启动,service docker start
启动Docker服务,但再运行docker images
时还是出现上面的提示,可以使用service docker status
查看Docker的服务状态:
[root@localhost ~]# service docker status
docker 已死,但 pid 文件仍存
说明Docker无法在该系统是正常启动,需要去此操作系统升级。
-
升级Centos到6.8
报着猜测的心态,假设Docker无法在Centos6.4版本中运行,那么先将Centos升级到较高版本。
再次执行 yum update
,将会升级操作系统(又是一个漫长的等待),此过程根据网速决定更新的速度,我花了差不多1小时的时间来更新,更新完成后可以通过命令 lsb_release -a
验证:
[root@localhost ~]# lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.8 (Final)
Release: 6.8
Codename: Final
出现上面信息则说明系统已经从6.4升级到6.8了,此时可以启动Docker服务:
[root@localhost ~]# service docker start
Starting docker: [确定]
[root@localhost ~]# service docker status
docker (pid 22546) 正在运行...
现在再使用Docker的相关命令就不再会出现烦人的无法连接Docker提示信息了!
注意:
- Centos 可以较方便的从6.4升级到6.8版本,且数据不会丢失。
- 从上面这个例子可以看出,Docker无法在Centos6.4版本中运行,其支持的最低版本是Centos6.8(这个不太确定,但需要将系统升级到6.8才能启动Docker服务)。
- 在Centos6版本中只能安装Docker 1.7.1版本,即使使用
yum update docker
也无法升级Docker版本,要安装更高版本的Docker则需要升级Centos到7以上。
本文章来自【知识林】