使用 epel 安裝 Docker

  1. 先安裝 epel-release 附加套件 repository,有內建 docker 套件。
    [root@kvm7 ~]# yum install epel-release
    
  2. 使用 yum 安裝 docker。
    [root@kvm7 ~]# yum install docker
    
  3. 設定開機啟動 docker。
    [root@kvm7 ~]# systemctl enable docker.service
    
  4. 啟動 docker 出現錯誤。
    [root@kvm7 ~]# systemctl start docker.service
    
  5. 查詢 docker 狀態,發現主要問題是目前的核心版本不支援 overlay2 graph driver。
    [root@kvm7 ~]# systemctl status -l docker.service 
    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
       Active: failed (Result: exit-code) since Thu 2017-10-12 14:14:26 CST; 1min 39s ago
         Docs: http://docs.docker.com
    ........
     Main PID: 25579 (code=exited, status=1/FAILURE)
    
    ........
    Oct 12 14:14:26 kvm7.deyu.wang dockerd-current[25579]: Error starting daemon: 
    SELinux is not supported with the overlay2 graph driver on this kernel. 
    Either boot into a newer kernel or disable selinux in docker 
    (--selinux-enabled=false)
    ........
    
  6. *如果沒更新核心,必須編輯 docker 設定檔移除 --selinux-enabled 選項。
    [root@kvm7 ~]# vim /etc/sysconfig/docker
    [root@kvm7 ~]# grep ^OPTIONS /etc/sysconfig/docker
    OPTIONS='--log-driver=journald --signature-verification=false'
    
  7. 更新核心後重新啟動,更新後版本 3.10.0-693.21.1。
    [root@kvm7 ~]# yum update kernel-*
    [root@kvm7 ~]# reboot
    [root@kvm7 ~]# uname -r
    3.10.0-693.21.1.el7.x86_64
    
  8. 成功啟動 docker。
    [root@kvm7 ~]# systemctl restart docker.service 
    [root@kvm7 ~]# systemctl status docker.service 
    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
       Active: active (running) since Thu 2017-10-12 14:23:08 CST; 9s ago
         Docs: http://docs.docker.com
     Main PID: 25730 (dockerd-current)
       CGroup: /system.slice/docker.service
               ├─25730 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/li...
               └─25735 /usr/bin/docker-containerd-current -l unix:///var/run/dock...
    ........