记录一次docker启动容器后Exited(127)的解决过程[通俗易懂]

特意强调一下:本人使用的系统为centos6.8本人运行容器的状态为Exited(127),如果你的问题不是127,可能解决不了你的问题问题:安装docker之后,拉取镜像dockerpullredis然后dockerimages查看所有镜像后,开始命令运行redisdockerrun-d–name=myredis-p6379:6379-d7caaqwe22q(镜像id)然后dockerps-a发现:CONTAINERIDIMAGE

大家好,又见面了,我是你们的朋友全栈君。

特意强调一下:
本人使用的系统为centos6.8
本人运行容器的状态为Exited(127),如果你的问题不是127,可能解决不了你的问题

问题:
安装docker之后,拉取镜像docker pull redis

然后docker images查看所有镜像后,
开始命令运行redis
docker run -d –name=myredis -p 6379:6379 -d 7caaqwe22q(镜像id)

然后
docker ps -a
发现:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b5b887489767 5cbedd5459d4 “docker-entrypoint.s 4 seconds ago Exited (127) 3 seconds ago redis01

在这里插入图片描述

在网上找了问题:
有人说是内存溢出,修改启动的内存分配,试了没作用。
有人说是加一些其他的指令如:bin/bash “while true…” …

发现没有解决问题。

于是尝试看了下报错的日志:
docker logs 容器的id

发现有一行报错:
FATAL: kernel too old

网上查到说是:内核太老
分析了一下,这个原因估计是的。
因为 我用的 本地虚拟机的 centos版本比较老,很有可能是这个原因导致的。

于是按照教程,进行内核升级:
执行如下命令:
uname -r (查看内核信息)
yum -y update nss (更新nss(网络安全服务))

升级内核需要elrepo的yum源,所有安装其源时,先导入elrepo的key:
执行如下:
rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm

安装elrepo源lt内核
yum –enablerepo=elrepo-kernel -y install kernel-lt

vi /etc/grub.conf 将default=1修改成default=0
wq保存退出。
在这里插入图片描述

保存重启
reboot

重启之后,再次查看内核
uname -r

再次查看docker
docker ps -a
然后移除掉旧的
docker rm 容器的id

重新启动容器
docker run -d –name=myredis -p 6379:6379 -d 7caaqwe22q(镜像id)
然后
docker ps -a 查看容器运行状态

在这里插入图片描述

至此成功运行redis服务。

**

小结

1、Exited(127) 后通过docker logs 查看日志报错原因。
2、发现是centos内核太旧于是按照教程升级内核。
3、内核升级后重启虚拟机。
4、启动后通过docker rm 容器id 移除掉旧的有问题的容器。
5、使用docker run … 再次运行。
6、容器成功运行。

注意:我的status是Exited(127),如果你不是127,也许你的问题跟我不一样,请尝试寻找其他办法。

**

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129335.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Docker(三):镜像导入与导出、保存与加载、在Docker容器中安装软件

    Docker(三):镜像导入与导出、保存与加载、在Docker容器中安装软件

    2021年9月26日
    314
  • docker mysql日志查看_MySQL查看版本

    docker mysql日志查看_MySQL查看版本查询DockerMySQL的版本号1.查找到当前正在运行的容器#dockerps2.进入mysql容器(命令中不带小括号)#dockerexec-it(mysql的名字,或id)bash3.登录mysql,输入账号密码登录(命令中不带小括号)#mysql-u(root)-p(abcd)登录成功以后,会显示该mysql的详细信息,其中包含版本号…

    2022年9月28日
    5
  • mac电脑卸载软件_docker卸载镜像

    mac电脑卸载软件_docker卸载镜像  在Mac上卸载docker,首先要关闭docker软件,然后进入/usr/local/bin/目录,依次使用如下命令:##1)进入docker的安装目录cd/usr/local/bin/##2)删除与docker相关的文件夹sudorm-rfdocker*sudorm-rfcom.docker.*sudorm-rfhub-tool*sudorm-rfkube*sudorm-rfvpnkit*  如图(1)所示:图(1)完成删除

    2022年8月30日
    8
  • docker使用教程视频_docker到底怎么用

    docker使用教程视频_docker到底怎么用前言docker主要用于运维,当然了,开发也可以用,可以在启动应用项目的时候使用docker方式,docker是虚拟化技术,每一个docker容器都是一个linux虚拟机,而且还可以根据不同的应用定制,最小的可以直接依赖linux内核,仅仅几M就可以运行。下面,正式开始。 注意:如果是使用docker-compose方式,只看到第三的第6即可。 一、安装dockercent…

    2022年10月15日
    4
  • docker的常用命令汇总_常用docker命令

    docker的常用命令汇总_常用docker命令文章目录Docker命令总结Docker命令总结还在百度Docker命令?推荐一套我用起来特顺手的命令!简介:Docker是一个开源的应用容器引擎,让开发者可以打包应用及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上。使用Docker可以更方便地打包、测试以及部署应用程序。Docker镜像官网阿里云镜像中心Docker环境安装:#安装yum-utilsyuminstall-yyum-utilsdevice-mapper-persistent-dat

    2026年1月17日
    4
  • docker如何卸载_docker 删除容器

    docker如何卸载_docker 删除容器2.卸载docker相关包输入如下命令查看相关包把匹配到的包执行yumremove删除3.查看docker卸载成功

    2025年10月6日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号