3 使用Docker构建微服务 - 3.2 Docker的安装
Docker的安装是比较简单的,笔者原本不想过多提及;但是看到有不少读者对Docker的安装提出了疑问,故此进行一个安装的总结。
对于Linux用户可以借助其发行版的Linux包管理工具安装,对于Windows和MAC用户相对麻烦一些,笔者下面以Windows7系统为例,讲述安装过程。笔者强烈建议大家使用Linux系统进入本章的学习,第一是比较符合目前Docker的市场趋势,第二Docker本身就是基于Linux的LXC技术。
CentOS 7.0下Docker的安装
查看内核版本(Docker需要64位版本,同时内核版本在3.10以上,如果版本低于3.10,需要升级内核):
uname -r
更新yum包:
yum update
添加yum仓库:
sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
安装Docker
yum install docker-engine
启动Docker
service docker start
使用Docker国内镜像(为Docker镜像下载提速,非必须)
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://fe8a7d6e.m.daocloud.io
参考:
官方文档:https://docs.docker.com/engine/installation/linux/centos/
CentOS 6.5下Docker的安装
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仓库(CentOS-Base.repo下的[extras]节enable=1启用)。
下面就CentOS 6.5讲解Docker的安装过程,以下是软件版本:
Linux版本 | Docker版本 |
---|---|
CentOS 6.5 X64(只能X64) | 1.7.1 |
升级内核
查看内核版本:
uname -r
结果:2.6.32-431.el6.x86_64
,不满足上文的需求,故此需要升级内核。
升级步骤:
导入公钥数字证书
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
安装ELRepo
rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
安装kernel长期版本
yum --enablerepo=elrepo-kernel install kernel-lt -y # lt表示long-term的意思,长期维护版本,也可以将kernel-lt改为kernel-ml,安装主线版本
编辑grub.conf文件,修改Grub引导顺序,确认刚安装好的内核在哪个位置,然后设置default值(从0开始),一般新安装的内核在第一个位置,所以设置default=0。
vim /etc/grub.conf
# 以下是/etc/grub.conf的内容
default=0 # 修改该值即可
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (3.10.103-1.el6.elrepo.x86_64)
重启并查看内核版本,将会发现内核已经更新。
安装Docker
禁用selinux,因为selinux和LXC有冲突,故而需要禁用
vim /etc/selinux/config的内容
# 以下是/etc/selinux/config的内容
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled # 将SELINUX设为disabled,注意修改后最好重启下机器。
安装 Fedora EPEL
yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
安装Docker
yum install -y docker-io
以守护模式运行Docker
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
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
执行以下内容:
yum upgrade device-mapper-libs
将Docker开机启动
chkconfig docker on
重启机器
其他平台的安装
请参考:https://docs.docker.com/engine/installation/
参考文档
Windows:https://docs.docker.com/engine/installation/windows/
MAC: https://docs.docker.com/engine/installation/mac/
CentOS:https://docs.docker.com/engine/installation/linux/centos/