centos 6.x 安装使用 docker

最近给公司系统搞 docker 部署,方便同事们外出部署项目,因为合作方的服务器都统一要求安装 centos,但是按照往年的经验,可能有些版本的 centos 没有升级,仍然停留在 6.x 时代。
根据 docker 官方的要求,linux 系统内核需要在 3.10 以上才可以有效运行,且内核版本越新越好: > A 64-bit installation
> Version 3.10 or higher of the Linux kernel. The latest version of the kernel available for you platform is recommended.
> iptables version 1.4 or higher
> git version 1.7 or higher
> A ps executable, usually provided by procps or a similar package.
> XZ Utils 4.9 or higher
> a properly mounted cgroupfs hierarchy; a single, all-encompassing cgroup mount point is not sufficient. See Github issues #2683, #3485, #4568).

升级内核

明显 centos6.x 2.xx 的内核版本已经不满足需求,那就需要先升级内核,才可以正常使用。

  1. 升级内核,需要用到 elrepo 的 yum 源,首先导入 key

    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    
  2. 然后安装软件源

     # RHEL-7, SL-7 or CentOS-7  
     sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
    
     # RHEL-6, SL-6 or CentOS-6  
     sudo rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
    
     # RHEL-5, SL-5 or CentOS-5  
     sudo rpm -Uvh http://www.elrepo.org/elrepo-release-5-5.el5.elrepo.noarch.rpm
    
  3. 最后安装新版内核,由于 elrepo-kernel 软件源没有启用,故而需要在安装的时候启用一下

    # 安装 main line(主线)的内核,保持最新,安装 docker 推荐使用这个内核
    sudo yum --enablerepo=elrepo-kernel install kernel-ml
    
    # 安装 long time(长期支持)的内核,**不推荐**,docker 一些新特性可能无法使用
    sudo yum --enablerepo=elrepo-kernel install kernel-lt
    
  4. 更改启动顺序

    # centos7.x
    sudo grub2-set-default 0
    
    # centos6.x 需要修改下面的文件 default=0
    sudo vi /etc/grub.conf
    
  5. 重启后,查看内核版本

    $ uname -r
    

进行安装

centos 7.x

直接添加官方源进行安装即可

  1. 添加源,可以将源地址修改为 https://mirrors.ustc.edu.cn/docker-yum/repo/centos7/ 进行加速

    sudo yum install -y yum-utils &&
    sudo yum-config-manager \
      --add-repo \
      https://download.docker.com/linux/centos/docker-ce.repo
    
  2. 安装

    sudo yum makecache fast &&
    sudo yum -y install docker-engine
    

centos 6.x

比较麻烦,需要下载源码包: Github 下载最新版

  1. 解压

    tar xzvf /path/to/<FILE>.tar.gz
    
  2. 可选 复制到 /usr/bin 目录

    sudo cp docker/docker* /usr/local/bin
    
  3. 执行启动

    sudo dockerd &
    

** 有时候执行不成功,需要先挂载 cgroupfs:

wget https://raw.githubusercontent.com/tianon/cgroupfs-mount/master/cgroupfs-mount

** 可以不用那么复杂手动挂载 cgroup,可以下载 docker.service 文件作为启动服务脚本

comments powered by Disqus