这阵子开始捣鼓 Docker,遇到过不少问题,下面记录下问题以及解决方案

一、Docker 报 Failed to start Docker Application Container Engine 错误。

问题说明:Docker安装完成后启动,报 Failed to start Docker Application Container Engine 错误,安装教程参考文章末尾的 “附录”

解决方案1:

  检查下如下目录是否存在docker.sock文件,/var/run/docker.sock,若存在的话则删除重新启动 docker

解决方案2:

  检查 /etc/docker/daemon.json 这个文件是否存在,若存在的话检查文件的 JSON 代码格式,格式不正确的话无法正常启动 docker;若不存在则创建 /etc/docker/daemon.json 并输入以下内容(或者用花括号 "{}" 代替)

{
"storage-driver": "devicemapper"
}

解决方案3:

  检查方案2所述的文件中是否包含有中文的符号,有的话换成英文符号并重启 docker

解决方案4:

  上面几个尝试之后都无法解决问题,只能卸载重装喽

  4.1:卸载 docker

$ yum remove docker-*

  删除 /lib 和 /run 文件夹下的docker文件夹;再删除所有docker的包,在删除的过程中,建议重启服务器(或者杀掉所有docker进程),期间可能还有docker进程在占用文件夹的情况,导致服务删除失败的问题。(这个非必要操作)

  4.2:更新 Linux 内核(笔者就是这个原因导致启动不了),这个可能需要消耗不少时间,耐心等待吧

$ yum update

  4.3:参考附录的内容重新安装 docker

  4.4:启动 docker 后,输入指令检查 docker 运行状态

$ systemctl status docker #查看docker运行状态
$ docker info #查看容器信息

  运行中的 docker 如下图所示:

二、登录私有镜像的时候提示权限不足

  解决方案:由于笔者使用其他账号组进行操作,前后检查了登录的账号密码,确保没问题后检查下权限,由于笔者这个用户没有权限执行 docker.sock 文件,把当前的用户添加到对应的用户组即可

$ gpasswd -a XXX XXX

三、Jenkins 执行 docker build 打包镜像的时候报错

  分析:这个或许有多个原因,可能是执行 build 的命令出错了,也可能是上下文关系没对应好,也可能是 Dockerfile 文件编写有问题

  解决方案1:检查 build 命令语法有没有错误

  解决方案2:检查 build 命令后面对应的目录结构是否正确

  解决方案3:检查 build 打包项目的 Dockerfile 文件是否存在一些语法错误

附录:

Docker 安装简易教程:(以 centos 安装 docker ce 社区版本为例)

//先安装一些依赖的驱动和配置yum
$ yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 $ yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo //安装docker
$ yum install docker-ce docker-ce-cli containerd.io //启动docker
$ systemctl start docker //测试下是否安装成功, 这里运行一个hello-world镜像,正常的话会输出 Hello from Docker!
$ docker run hello-world

docker 常用命令:

$ systemctl status docker #检查docker的状态
$ systemctl start docker #启动docker
$ systemctl stop docker #关闭docker
$ systemctl restart docker #重启docker
$ docker run --rm -it XXXX bash #启动一个XXXX容器,并以bash方式运行,XXXX是镜像ID(通过docker image ls查看)
$ docker image ls #列出当前所有的镜像
$ docker image prune #清除没用的镜像,按y确认删除

Docker - 故障排查指南的更多相关文章

  1. 图解Kubernetes——故障排查指南

    针对越来多的Kubernetes容器云,对Kubernetes集群的故障排查却成了一个棘手问题.本文虫虫给大家以直观图示方式介绍如何排查Kubernetes的故障.该篇是系列文章续——故障排查篇. 概 ...

  2. docker故障排查

    代理服务器设置 代理服务器可以在启动并运行后阻止与Web应用程序的连接.如果您位于代理服务器后面,请使用以下ENV命令将以下行添加到Dockerfile中,以指定代理服务器的主机和端口: # Set ...

  3. 超长可视化指南!带你理清K8S部署的故障排查思路,让bug无处遁形

    本文将帮助你厘清在Kubernetes中调试 deployment的思路.下图是完整的故障排查思路,如果你想获得更清晰的图片,请在公众号后台(RancherLabs)回复"troublesh ...

  4. Linux系统运维故障排查

    一.思路 1.处理问题要求 2.一般思路 二.具体问题 1.网络问题 (1)网络不通 (2)网络很慢 2.硬件问题 3.操作系统问题 (1)系统无法正常启动 (2)系统运行慢或死机 4.服务或程序问题 ...

  5. 坑爹坑娘坑祖宗的87端口(记一次tomcat故障排查)

    原贴如下 坑爹坑娘坑祖宗的87端口(记一次tomcat故障排查) 虽然我用的是PHPstudy部署的dedecms,还是一样栽倒这个坑里了. 总结经验:本地测试使用8000~9000的端口比较安全.

  6. Java线上应用故障排查之二:高内存占用

    搞Java开发的,经常会碰到下面两种异常: 1.java.lang.OutOfMemoryError: PermGen space 2.java.lang.OutOfMemoryError: Java ...

  7. paip.hql的调试故障排查流程总结

    paip.hql的调试故障排查流程总结 环境.myeclipse7.0 1 Hql的调试工具myeclipxe默认工具.../Hibernate8IDE 1 故障的排除方法overview 1 Hql ...

  8. 使用strace工具故障排查的5种简单方法

    使用strace工具故障排查的5种简单方法 本文源自5 simple ways to troubleshoot using strace strace 是一个非常简单的工具,用来跟踪可执行程序的系统调 ...

  9. 一次线上OOM故障排查经过

    转贴:http://my.oschina.net/flashsword/blog/205266 本文是一次线上OOM故障排查的经过,内容比较基础但是真实,主要是记录一下,没有OOM排查经验的同学也可以 ...

随机推荐

  1. springMVC框架集成tiles模板

    将tiles模板集成到springMVC框架下,大概流程如下: 1.在配置文件中加入tiles支持 我的servlet配置文件名为spring-mvc.xml.具体配置如下: <?xml ver ...

  2. [GO]设备文件的使用

    package main import ( "os" "fmt" ) func main() { os.Stdout.WriteString("are ...

  3. javascript总结31 :DOM概述

    1 JavaScript 三个组成部分 核心(ECMAScript)欧洲计算机制造商协会 描述了JS的语法和基本对象. 文档对象模型(DOM) 处理网页内容的方法和接口 浏览器对象模型(BOM) 与浏 ...

  4. 跟我学习css3之transition

    HTML5和css3已经是将来的发展趋势,现在有很多移动端还有一些游戏公司已然使用它们开 发了比较成功的产品.我在2011年的时候也跟着技术潮流初浅的学习了html5+css3.毕竟那 时候我没有把学 ...

  5. unity 小地图的制作

    利用 Transform.InverseTransformDirection  变换位置从世界坐标到自身坐标. 以第一人称控制器为坐标原点(忽视y轴),x轴z轴转为屏幕坐标. 若物体在地图范围外,可以 ...

  6. mybatis_入门程序

    Mybatis入门 (一).程序环境 1.jar包 2.classpath目录下建立SqlMapConfig.xml. mybatis的配置文件.全部设置有如下 同时,数据库的参数可以用propert ...

  7. CSS 学习-文本 段落

    段落. 首行缩进 text-indent属性 比如缩进  <p style="text-indent: 2em;">这里是内容....</p> 这里是内容这 ...

  8. Sql Server 2012 数据库同步方式 (发布、订阅)

    上篇中说了通过SQL JOB的方式对数据库的同步,这一节作为上一节的延续介绍通过发布订阅的方式实现数据库之间的同步操作.发布订阅份为两个步骤:1.发布.2订阅.首先在数据源数据库服务器上对需要同步的数 ...

  9. 一文解锁BILIBILI、ACFUN等弹幕网站是如何审核视频

    欢迎访问网易云社区,了解更多网易技术产品运营经验. 人工审核对于A站和B站都是很重要的. AcFun稿件审核通行标准(V1.1) 表明,要审核的东西非常多,除了内容本身的合规性.调性,还有画质音质.撞 ...

  10. luogu1357花园(矩阵运算)(状压DP)

    不得不说本蒻做这个题目的时候内心是很蒙蔽的qwq 推了规律找错了结果还没有暴力的分数高qwq...... 开数组\(f[i][j]\)来记录前i个花圃,(这里运用到状压的思想)其中最近的m个的状态(二 ...