— Docker虚拟化故障 —

Docker虚拟化主要有三类故障:

应用故障:应用执行状态与预期不一致。

容器故障:无法正确创建、停止、更新容器等。

集群故障:集群创建失败、更新失败、无法连接等。

— Docker虚拟化故障排错 —

所有的Docker虚拟化故障排查诊断,都可以通过Docker命令行工具或者Web控制台来完成。

通过WEB控制台查看,需要自建控制台,对于Docker运维管理员来说,命令行工具排错是一个不错的帮手。

— 故障排错案例1 —

案例描述:

生产环境,全新安装的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引擎的启动.

解决方案:

如上问题,解决方法有两种:

1.Selinux主配置文件:

/etc/selinux/config,将配置文件中enforcing设置为disabled,然后重启系统,然后重启docker引擎即可。

2.docker主配置文件:

/etc/sysconfig/docker,将配置文件中--selinux-enabled选项为false,改成:--selinux-enabled=false即可。

— 故障排错案例2 —

案例描述:

Docker虚拟化引擎报错信息如下:

chown socket at step GROUP: No such process

解决方案:

如上错误提示是因为Docker无法找到Group组信息,docker组有可能被误删除,解决方法有两种:

1.创建宿主机docker组即可,命令:groupadd docker;

2./usr/lib/systemd/system/docker.socket文件,SocketGroup=修改为root也可以;

— 故障排错案例3 —

案例描述:

Docker虚拟化引擎报错信息如下:

如上错误提示是因为Linux操作系统没有更多的Loopback 设备给Docker使用。

解决方案:

创建更多的Loopback设备即可,命令如下:
for i inseq 0 6;do mknod -m 0660 /dev/loop$i b 7 $i;done
— 故障排错案例4 —

案例描述:

Docker命令执行,报错如下:

Cannot connect to the Docker daemon at unix:
///var/run/docker.sock. Is the docker daemon running?

根据如上错误提示,该错误很明显可能是docker没有启动。

解决方案:

检测docker进程是否启动,ps -ef|grep docker,如果没有启动,启动Docker即可。

检测Docker进程存在,但是无法连接,可以重启一下Docker服务,检测一下Sock路径是否正确;

— 故障排错案例5 —

案例描述:

Docker获取远程镜像,报错信息如下:

Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io

该错误表示无法连接远程仓库Docker.io。

解决方案:

查看本地是否配置DNS,能否ping通docker.io;

如果能够ping通,但是下载还是比较慢,可以修改Docker仓库源为国内或者自建的仓库源;

Docker镜像修改方法,vim /etc/docker/daemon.json,执行如下命令:

at>/etc/docker/daemon.json<<EOF

{
"registry-mirrors":["https://registry.docker-cn.com"]
}
EOF
service docker restart

— 故障排错案例6 —

案例描述:

启动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容器启动命令,例如修改为:/bin/sh或者sleep 99999d等;

Docker镜像自身问题或者Docker引擎版本比较低导致,可以升级Docker引擎版本服务;

— 故障排错案例7 —

案例描述:

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容器占用数据比较大的目录;

或者通过docker system prune自动删除一些日志目录,此种方法会停止所有容器;

或者临时增加Docker存储硬盘等;

— 故障排错案例8 —

案例描述:

Docker push上传镜像至本地仓库报错信息如下:

The push refers to a repository [106.12.133.186:5000/busybox] Get https://106.12.133.186:5000/v1/_ping: http: server gave HTTP response to HTTPS client
根据如上错误提示,错误是由于客户端采用https,docker registry未采用https服务所致。一种处理方式是把客户对地址“106.12.133.186:5000”请求改为http。

解决方案:
vim /etc/docker/daemon.json 文件。
在文件中写入:{ "insecure-registries":["106.12.133.186:5000"] } 。
保存退出后,重启docker服务,问题即可解决。

— 故障排错案例9 —

案例描述:

Error response from daemon: service endpoint with name xxx already ex

端口或服务已经被占用,目前试了网上的方法还没解决,方法只能重启了。

Docker常见故障的更多相关文章

  1. Weblogic常见故障常:JDBC Connection Pools(转)

    WebLogic Server中数据库连接池是一个经常出问题的地方,总结一下出问题的原因和解决办法. 一.数据库连接泄漏 此类问题一般都是由于开发人员没有正确关闭数据库连接造成的.比如使用完Conne ...

  2. 理解 OpenStack + Ceph (7): Ceph 的基本操作和常见故障排除方法

    本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...

  3. Weblogic常见故障常:JDBC Connection Pools【转】

    WebLogic Server中数据库连接池是一个经常出问题的地方,总结一下出问题的原因和解决办法. 一.数据库连接泄漏 此类问题一般都是由于开发人员没有正确关闭数据库连接造成的.比如使用完Conne ...

  4. (4.1)mysql备份还原——mysql常见故障

    (4.1)mysql备份还原——mysql常见故障 1.常见故障类型 在数据库环境中,常见故障类型: 语句失败,用户进程失败,用户错误 实例失败,介质故障,网络故障 其中最严重的故障主要是用户错误和介 ...

  5. mysql主从复制常见故障解决

    一.主从复制常见故障 1.从库已存在数据库,主库建立同名库导致从库同步失败.报错如下: mysql> show slave status\G*************************** ...

  6. vsftp客户连接常见故障现象

    ftp客户连接常见故障现象现象0:> ftp: connect :连接被拒绝原因: 服务没启动解决: # chkconfig vsftpd on<Enter> 现象1:500 OOP ...

  7. (转)linux常见故障一:linux 文件系统变只读

    linux常见故障一:linux 文件系统变只读 原文:https://www.cnblogs.com/ginvip/p/6375672.html 1. 重启系统看是否可以自动修复. 2. 使用fsc ...

  8. RAD介绍及实战,LVM介绍及实战,磁盘常见故障

    目录 一.RAID 1.RAID好处: 2.RAID的运行方式: 3.RAID的级别: 二.RAID实战 软RAID 1.RAID0 2.RAID1 3.RAID5 4.RAID10 三.LVM介绍 ...

  9. 【集群实战】NFS服务常见故障排查和解决方法

    NFS,全名叫Network File System,中文叫网络文件系统,是Linux.UNIX系统的分布式文件系统的一个组成部分,可实现在不同网络上共享远程文件系统. NFS由Sun公司开发,目前已 ...

随机推荐

  1. sudo apt-get 与 yum安装有啥区别

    rpm包和deb包是两种Linux系统下最常见的安装包格式,在安装一些软件或服务的时候免不了要和它们打交道. rpm包主要应用在RedHat系列包括 Fedora等发行版的Linux系统上, deb包 ...

  2. python爬虫入门(四)利用多线程爬虫

    多线程爬虫 先回顾前面学过的一些知识 1.一个cpu一次只能执行一个任务,多个cpu同时可以执行多个任务2.一个cpu一次只能执行一个进程,其它进程处于非运行状态3.进程里包含的执行单元叫线程,一个进 ...

  3. 条件随机场CRF(三) 模型学习与维特比算法解码

    条件随机场CRF(一)从随机场到线性链条件随机场 条件随机场CRF(二) 前向后向算法评估标记序列概率 条件随机场CRF(三) 模型学习与维特比算法解码 在CRF系列的前两篇,我们总结了CRF的模型基 ...

  4. 小隐隐于野:基于TCP反射DDoS攻击分析

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯DDoS安全专家.腾讯云游戏安全专家 陈国 0x00 引言 近期,腾讯云防护了一次针对云上某游戏业务的混合DDoS攻击.攻击持续了 ...

  5. css绝对底部的实现方法

    最近发现公司做的好多管理系统也存在这样的问题,当页面不够长的时候,页尾也跟着跑到了页面中部,这样确实感觉视觉体验不太好,没有研究之前还真不知道还能用css实现,主要利用min-height;paddi ...

  6. 数据库连接池dbcp和c3po的区别

    1 DBCP   DBCP是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件. 2.C3P0 是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate ...

  7. springboot+activemq中引入重发机制

    一.简介 在使用activemq消息中间件进行消息队列传输时,总会由于各种原因导致消息失败. 一个经典的场景是一个生成者向Queue中发消息,里面包含了一组邮件地址和邮件内容.而消费者从Queue中将 ...

  8. linux ubuntukylin和deepin操作系统的比较及改进方向的建议

    研发中国的操作系统的需求在我看来是安全,还有就是自主.如果做的好还可以在创新上,使用体验上进行一波超越.现有的所谓的国产操作系统我了解的除了基于安卓的凤凰系统就是基于Linux的像优麒麟和deepin ...

  9. 远程备份binlog服务

    Ⅰ.bonlog server介绍 对于binlog的备份,之前文章里说的是有从机,一般不备份,那现在人家就是 要备份嘛,怎么办嘛, 写个脚本每天夜里去把前一天产生的binlog拷贝出来可以不? 行啊 ...

  10. 在阿里云的CentOS环境中安装配置MySQL、JDK、Maven

    Welcome to Alibaba Cloud Elastic Compute Service ! [root@izbp19stm1x1k2io1e7r3tz ~]# rpm -Uvh http:/ ...