1、首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
2、进入yum源配置文件所在的文件夹
cd /etc/yum.repos.d/
3、下载163的yum源配置文件(CentOS7)
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
清华大学镜像源地址:https://mirrors.tuna.tsinghua.edu.cn/
4、清理缓存
yum clean all
5、测试下载安装
yum install gcc
6、安装docker
yum install docker
7、启动
systemctl start docker
8、启动报错
[root@localhost yum.repos.d]# systemctl start dockerJob for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.[root@localhost yum.repos.d]# systemctl status docker● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Wed 2018-12-12 07:27:23 UTC; 28s ago Docs: http://docs.docker.com Process: 4166 ExecStart=/usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current --init-path=/usr/libexec/docker/docker-init-current --seccomp-profile=/etc/docker/seccomp.json $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY $REGISTRIES (code=exited, status=1/FAILURE) Main PID: 4166 (code=exited, status=1/FAILURE)Dec 12 07:27:21 localhost.localdomain systemd[1]: Starting Docker Application Container Engine...Dec 12 07:27:22 localhost.localdomain dockerd-current[4166]: time="2018-12-12T07:27:22.024162402Z" level=warning msg="could not change group /var/run/docker...t found"Dec 12 07:27:22 localhost.localdomain dockerd-current[4166]: time="2018-12-12T07:27:22.038636556Z" level=info msg="libcontainerd: new containerd process, pid: 4170"Dec 12 07:27:23 localhost.localdomain dockerd-current[4166]: Error starting daemon: SELinux is not supported with the overlay2 graph driver on this kernel. ...d=false)Dec 12 07:27:23 localhost.localdomain systemd[1]: docker.service: main process exited, code=exited, status=1/FAILUREDec 12 07:27:23 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.Dec 12 07:27:23 localhost.localdomain systemd[1]: Unit docker.service entered failed state.Dec 12 07:27:23 localhost.localdomain systemd[1]: docker.service failed.Hint: Some lines were ellipsized, use -l to show in full.
根据提示查看一下详情,执行:journalctl -xe
Dec 13 06:42:24 localhost.localdomain dockerd[2719]: time="2018-12-13T06:42:24.350020859Z" level=info msg="libcontainerd: new containerd process, pid: 2722"Dec 13 06:42:25 localhost.localdomain dockerd[2719]: time="2018-12-13T06:42:25.356303658Z" level=error msg="[graphdriver] prior storage driver overlay2 failed: driver Dec 13 06:42:25 localhost.localdomain dockerd[2719]: Error starting daemon: error initializing graphdriver: driver not supported
错误原因:error initializing graphdriver: driver not supported
解决办法:在 /etc/docker 目录下创建daemon.json文件,并且加入以下配置touch daemon.jsonvi daemon.json{ "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ]}
再次启动
systemctl start docker
问题解决
9、又来一个问题
Error starting daemon: SELinux is not supported with the overlay2 graph driver on this kernel. Either boot
此linux的内核中的SELinux不支持 overlay2 graph driver ,解决方法有两个,要么启动一个新内核,要么就在docker里禁用selinux,–selinux-enabled=false
vi /etc/sysconfig/docker#设置--selinux-enabled=false