在Liunx中使用Docker, 注: Liunx使用的是在虚拟机下的centOS7版本
在刚开始安装Docker时没有任何错误, 但是在后续的docker启动过程中, 出现以下问题:
[root@zk2 docker]# service docker start
Redirecting to /bin/systemctl start docker.service
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
刚遇到这个问题时, 在百度上找答案, 但是找到的答案都不能满足这个问题, 于是自己就慢慢摸索
解决方案
首先查看一下内核版本
因为使用命令: yum install docker下载时, 默认下载的是Docker的最新版本, 但是内核版本低的话可能不兼容新版本Docker, 所以有可能出现如上错误
首先要来验证CentOS 版本是否支持 Docker,Docker 要求 CentOS 系统的内核版本高于 3.10
通过 uname -r 命令查看你当前的内核版本
[root@localhost /]# uname -r
3.10.0-123.el7.x86_64
方案一、内核版本过低
1.将以前下载好的Docker卸载干净,使用如下命令:
yum remove docker-*
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine
2.更新改linux系统的内核版本
yum update
建议更新完之后, 重启一下系统
3.继续下载安装docker(尽量使用高级管理员权限下载)使用如下命令
yum install dacker
4.使用如下命令启动docker
systemctl start docker
问题解决!
如果这样安装完之后还报错, 按照这个步骤再来一遍即可
如果方案一不能解决,请向下继续阅读,根据场景选择解决方式 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
方案二、检查配置文件是否错误
检查一下配置文件,使用如下命令:
vim /etc/sysconfig/docker
方案三、检查daemon.json文件是否错误
检查一下daemon.json文件,使用如下命令:
vim /etc/docker/daemon.json
检查以下内容是否存在,如果没有则加入文件中(注意引号和冒号的输入格式是否为英文):
{
"graph": "/mnt/docker-data",
"storage-driver": "overlay"
}
方案四、删除 /var/lib/docker
目录
删除 /var/lib/docker 目录
重启 daemon
重启 docker
使用如下命令:
rm -rf /var/lib/docker
sudo systemctl daemon-reload
sudo service docker restart
方案五、安装 docker-io-selinux
安装 docker-io-selinux
重启 daemon
重启 docker
使用如下命令:
sudo yum install docker-io-selinux
sudo systemctl daemon-reload
sudo service docker restart
方案六、重新安装Docker
如果以上方案都没有解决你的问题,笔者建议按照步骤重新安装一下Docker,注意不要疏漏。