3 使用Docker构建微服务 - 3.2 Docker的安装

优质
小牛编辑
134浏览
2023-12-01

Docker的安装是比较简单的,笔者原本不想过多提及;但是看到有不少读者对Docker的安装提出了疑问,故此进行一个安装的总结。

对于Linux用户可以借助其发行版的Linux包管理工具安装,对于Windows和MAC用户相对麻烦一些,笔者下面以Windows7系统为例,讲述安装过程。笔者强烈建议大家使用Linux系统进入本章的学习,第一是比较符合目前Docker的市场趋势,第二Docker本身就是基于Linux的LXC技术。

CentOS 7.0下Docker的安装

  1. 查看内核版本(Docker需要64位版本,同时内核版本在3.10以上,如果版本低于3.10,需要升级内核):

    1. uname -r
  2. 更新yum包:

    1. yum update
  3. 添加yum仓库:

    1. sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
    2. [dockerrepo]
    3. name=Docker Repository
    4. baseurl=https://yum.dockerproject.org/repo/main/centos/7/
    5. enabled=1
    6. gpgcheck=1
    7. gpgkey=https://yum.dockerproject.org/gpg
    8. EOF
  4. 安装Docker

    1. yum install docker-engine
  5. 启动Docker

    1. service docker start
  6. 使用Docker国内镜像(为Docker镜像下载提速,非必须)

    1. 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

升级内核

查看内核版本:

  1. uname -r

结果:2.6.32-431.el6.x86_64,不满足上文的需求,故此需要升级内核。

升级步骤:

  1. 导入公钥数字证书

    1. rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
  2. 安装ELRepo

    1. rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
  3. 安装kernel长期版本

    1. yum --enablerepo=elrepo-kernel install kernel-lt -y # lt表示long-term的意思,长期维护版本,也可以将kernel-lt改为kernel-ml,安装主线版本
  4. 编辑grub.conf文件,修改Grub引导顺序,确认刚安装好的内核在哪个位置,然后设置default值(从0开始),一般新安装的内核在第一个位置,所以设置default=0。

    1. vim /etc/grub.conf
    2. # 以下是/etc/grub.conf的内容
    3. default=0 # 修改该值即可
    4. timeout=5
    5. splashimage=(hd0,0)/grub/splash.xpm.gz
    6. hiddenmenu
    7. title CentOS (3.10.103-1.el6.elrepo.x86_64)
  5. 重启并查看内核版本,将会发现内核已经更新。

安装Docker

  1. 禁用selinux,因为selinux和LXC有冲突,故而需要禁用

    1. vim /etc/selinux/config的内容
    2. # 以下是/etc/selinux/config的内容
    3. # enforcing - SELinux security policy is enforced.
    4. # permissive - SELinux prints warnings instead of enforcing.
    5. # disabled - No SELinux policy is loaded.
    6. SELINUX=disabled # 将SELINUX设为disabled,注意修改后最好重启下机器。
  2. 安装 Fedora EPEL

    1. yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
  3. 安装Docker

    1. yum install -y docker-io
  4. 以守护模式运行Docker

    1. docker -d
  5. 如果不报错,那就是启动成功了,如果报以下异常:

    1. 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
    2. INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)

    执行以下内容:

    1. yum upgrade device-mapper-libs
  6. 将Docker开机启动

    1. chkconfig docker on
  7. 重启机器

其他平台的安装

请参考: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/