docker exec 报错 Error response from daemon: Container XXXXX is not running 解决思路

XXXXX 为报错容器id

问题描述

废话不多说,直奔主题~~

我出现本文讨论的这个问题的场景是:

使用自己手动编写的Dockerfile,构建redis4镜像,构建镜像过程无任何报错。
通过docker run基于上一步构建的redis4镜像创建容器redis4,也创建成功,无任何报错。

[root@iZ2ze571fco0kt6i4nui21Z redis]# docker run -itd -p 6389:6379 -v /wp/ss.redis.p/redis/conf:/usr/src/redis/conf --name redis4 redis:v4.0.11
cfe75fa3b2363049f147f42d9848d8f486e3f6bed5c36526100bda0886a22e4a

通过docker ps查询容器列表,发现没有redis4容器,结果如下

[root@iZ2ze571fco0kt6i4nui21Z redis]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
e04084a150f5        nginx:v1.14.1       "/usr/local/nginx/sb…"   19 hours ago        Up 19 hours         0.0.0.0:8001->80/tcp   nginx1.14.1

通过docker ps -a 查询所有容器列表,结果如下

[root@iZ2ze571fco0kt6i4nui21Z redis]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                  NAMES
cfe75fa3b236        redis:v4.0.11       "/usr/local/bin/redi…"   15 seconds ago      Exited (1) 14 seconds ago                          redis4
e04084a150f5        nginx:v1.14.1       "/usr/local/nginx/sb…"   19 hours ago        Up 19 hours                 0.0.0.0:8001->80/tcp   nginx1.14.1

发现问题所在 =》 redis4容器的STATUS为Exit…

网传解决办法 docker start redis4,但依然无法启动redis4容器,问题不能解决

尝试运行docker exec进入redis4容器,就出现了本文出现的问题

[root@iZ2ze571fco0kt6i4nui21Z redis]# docker exec -it redis4 bash
Error response from daemon: Container cfe75fa3b2363049f147f42d9848d8f486e3f6bed5c36526100bda0886a22e4a is not running

解决思路

常规思路(无法解决)

  1. docker start 容器,不能解决问题
  2. docker logs 容器,也看不到报错信息

自己动脑,才是根本(真知)

从调测Dockerfile入手,先想办法执行并进入容器

一、 容器未运行,很明显容器启动后并未运行一个前台挂起的进程,对于redis而言猜测是启动redis的命令出了问题,以此为线索,继续思考
二、 如何能让容器启动后【挂起】呢?首先要保证Dockerfile的启动redis的方式为CMD,这样我们尝试启动容器的时候,将其替换为top 或 bash(alpine为sh),果然这样我进入到了容器~~ =》 突破性进展啊
三、 很容易通过命令ps查看到redis未启动,然后查redis日志,就找到了错误原因
[root@iZ2ze571fco0kt6i4nui21Z redis]# docker exec -it redis43 sh
/ # tail -20 /var/log/redis/redis.log
13:C 05 Jun 12:26:20.511 # Can't chdir to '/var/lib/redis': No such file or directory
15:C 05 Jun 12:26:57.182 # Can't chdir to '/var/lib/redis': No such file or directory

最终,查到原来不是Dockerfile有问题,而是redis的配置文件有问题(配置项dir的路径配置错误导致)

总结
我的思路也许并不能解决您的问题,但是我写这边博文的目的是【授人以渔】

解决 docker exec 报错 Error response from daemon: Container XXXXX is not running相关推荐

  1. docker gpu报错Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]

    Docker容器中使用Nvidia GPU报错 docker: Error response from daemon: could not select device driver "&qu ...

  2. docker运行报错:Error response from daemon:Container {containerId} is not running

    问题产生: 已启动docker服务systemctl start docker.service,由于本地8080端口之前已经在使用忘记关闭了,在执行docker run -dit --privileg ...

  3. Docker 报错Error response from daemon: Get https://xx.xx.xx.xx/v2/: Service Unavailable

    问题 Mac 上docker pull是报错Error response from daemon: Get https://xx.xx.xx.xx/v2/: Service Unavailable 执 ...

  4. docker报错Error response from daemon: Get https://registry-1.docker.io/v2/: x509

    docker报错 Error response from daemon: Get https://registry-1.docker.io/v2/: x509: certificate has exp ...

  5. mac上docker pull是报错Error response from daemon: Get https://xx.xx.xx.xx/v2/: Service Unavailable

    执行docker pull xx.xx.xx.xx/xx/xx,下载私有库的镜像时报错如下: Error response from daemon: Get https://xx.xx.xx.xx/v ...

  6. docker端口映射或启动容器时报错Error response from daemon: Container is not running

    docker端口映射或启动容器时: docker exec -it 7c5a2350c4cb /bin/bash 出现了错误: Error response from daemon: Containe ...

  7. Docker启动MySql时Exited (1) 8 seconds ago或者Error response from daemon: Container xx is not running的解决方法

    本人小白,跟着老师学习<谷粒商城>过程中遇到这个问题,具体原理我也不清楚,多方搜索,以下方案可以解决该问题. 问题1:找的网图 或者出现以下情况: 问题2: 当修改好配置后,重启mysql ...

  8. docker端口映射或启动容器时报错Error response from daemon: Container 7c5a2350c4cb2370d8aba94eef9cec4a6c2ac3207030

    现象: docker exec -it 7c5a2350c4cb /bin/bash Error response from daemon: Container 7c5a2350c4cb2370d8a ...

  9. Error response from daemon: Container xxx is not running的解决方法

    进入容器并且想启动时,提示还没有启动该id [root@chongba-docker ~]# docker exec -it chongba_mysql bash Error response fro ...

最新文章

  1. selenium grid2 使用远程机器的浏览器
  2. python网络爬虫---selenium的使用
  3. TTL_CMOS_RS232区别
  4. 成长 | 《大厂晋升指南》学习总结(下)
  5. 我如何向团队解释依赖注入
  6. springboot websocket
  7. poj 1961 KMP的应用
  8. openwrt: ipq4019 路由 资料汇总
  9. f分布表完整图a=0.01_第7章 分布分析
  10. 亿图图示(试用版)无水印导出流程图【2021最新】
  11. 网络舆情监测TOOM
  12. OriginPro中三维图片旋转
  13. [USACO 2009 Dec G]Video Game Troubles-----分组背包的改良版
  14. AD 绘制原理图库default designator不显示
  15. 翻过这道山,就有人听到你的故事。
  16. html5 canvas爆炸,html5 canvas彩色爆炸的小球动画特效
  17. 前端学习案例16-js中的HMR
  18. 【转载】见山是山 见水是水
  19. Raft 算法详解(一)领导者选举
  20. 兰大计算机考试2020年5月在线考试答案,《计算机组成原理》兰大2020年9月在线考核试题题目及答案...

热门文章

  1. java面向对象基础——继承、抽象类
  2. 解决org.apache.ibatis.binding.BindingException: Type interface XXX is not known to the MapperRegistry
  3. 创意电子学-小知识:基本电路图符号与布局
  4. 硬仗酒:新国货更要注重国人的精神表达
  5. SEO真的没用了吗?
  6. oracle sqltune,关于Oracle Baseline和DBMS_SQLTUNE工具
  7. 使用CRF++进行分词的原理和实现过程
  8. 设计模式-Prototype模式(原型模式)
  9. 飞鸽传书——呼叫系统
  10. 基于javaEE技术的驾驶证(驾校、交规)模拟考试系统的设计