目录
Docker虚拟化主要有三类故障:
所有的Docker虚拟化故障排查诊断,都可以通过Docker命令行工具或者Web控制台【需要自建控制台】来完成。
全新安装的Docker无法启动,报错信息如下:
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
通过journalctl -xe命令查看启动的详细日志,启动daemon错误,因为Selinux不支持,Selinux阻挡了Docker引擎的启动.
解决方法有两种:
修改Selinux主配置文件:
/etc/selinux/config,将配置文件中enforcing设置为disabled,然后重启系统,然后重启docker引擎。修改docker主配置文件:
/etc/sysconfig/docker,将配置文件中--selinux-enabled选项为false,改成:--selinux-enabled=false,然后重启docker引擎。
Docker虚拟化引擎报错信息如下:
chown socket at step GROUP: No such process
原因:因为Docker无法找到Group组信息,docker组有可能被误删除
解决方案:
docker虚拟化服务报错信息如下:
docker[42113]:[error] attach_loopback.go:42 There are no more loopback devices available.
docker[42113]: loopback mouting faild
原因: linux操作系统没有更多的loopback设备给docker使用。
解决方案:
创建更多的Loopback设备
for i inseq 0 6;do mknod -m 0660 /dev/loopib7ib7i;done
Docker命令执行,报错如下:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
解决方案:
Docker获取远程镜像,报错信息如下
Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io
# 该错误表示无法连接远程仓库Docker.io。
解决方案:
Docker镜像修改方法,vim /etc/docker/daemon.json,执行如下命令:
cat>/etc/docker/daemon.json<<EOF
{
"registry-mirrors":["https://registry.docker-cn.com"]
}
EOF
service docker restart
启动Docker容器,报错信息如下:
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"/bin/bash\": executable file not found in $PATH".
如上报错新,通常是由于容器启动时,不支持该命令:/bin/bash。
解决方案:
Docker虚拟化运行中,报错信息如下:
Docker no space left on device
Docker no space left on device
Docker no space left on device
Docker no space left on device
Docker no space left on device
以上错误,表示Docker虚拟化引擎平台,没有多月的空间设备所使用,证明容器磁盘不足或者物理机磁盘不足。
解决方案:
Docker push上传镜像至本地仓库报错信息如下:
The push refers to a repository [10.0.0.1:5000/busybox] Get https://10.0.0.1:5000/v1/_ping: http: server gave HTTP response to HTTPS client。
如上错误提示,错误是由于客户端采用https,docker registry未采用https服务所致。一种处理方式是把客户对地址“10.0.0.1:5000”请求改为http。
解决方案:
vim /etc/docker/daemon.json 文件。
在文件中写入:{ "insecure-registries":["10.0.0.1:5000"] } 。
保存退出后,重启docker服务,问题即可解决。
Error response from daemon: service endpoint with name xxx already exit
解决方案:
原文:https://www.cnblogs.com/lemanlai/p/12396048.html