首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Docker:命令返回非零代码: 137

Docker是一种开源的容器化平台,可以将应用程序及其依赖项打包成一个独立的容器,以实现跨平台、快速部署和可移植性。它提供了一种轻量级的虚拟化技术,使得应用程序可以在不同的环境中运行,而无需担心环境差异带来的问题。

当在使用Docker时,有时候会遇到命令返回非零代码的情况,其中返回代码137表示容器被强制终止。这种情况通常是由于容器内部的进程使用了过多的内存资源,导致系统强制终止容器以保护系统的稳定性。

要解决这个问题,可以采取以下几个步骤:

  1. 检查容器内部的进程是否使用了过多的内存资源。可以使用Docker的命令docker stats来查看容器的资源使用情况,特别是内存的使用情况。如果发现某个进程占用了过多的内存,可以考虑优化该进程的内存使用方式,或者增加容器的内存限制。
  2. 调整容器的内存限制。可以使用Docker的命令docker run或者docker update来设置容器的内存限制。通过增加内存限制,可以为容器提供更多的内存资源,从而避免被系统强制终止。
  3. 检查宿主机的内存资源是否充足。如果宿主机的内存资源不足,可能会导致容器被强制终止。可以通过增加宿主机的内存容量或者优化其他运行在宿主机上的进程,来提供更多的内存资源给容器使用。

总结起来,当Docker命令返回非零代码137时,表示容器被强制终止,通常是由于内存资源不足导致的。可以通过检查容器内部的进程、调整容器的内存限制以及增加宿主机的内存资源来解决这个问题。

关于Docker的更多信息和使用方法,你可以参考腾讯云的容器服务产品TKE(Tencent Kubernetes Engine):TKE产品介绍。TKE是腾讯云提供的一种容器服务,基于Kubernetes技术,可以帮助用户快速部署和管理容器化应用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

设置root账号不用sudo直接执行docker命令

:19.03.10 现状 当前账号是willzhao,直接执行docker xxx命令会报以下错误: willzhao@ideapad:~$ docker images Got permission denied...while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar...sudo docker xxx命令,会提示输入当前账号密码,然后可以成功: willzhao@ideapad:~$ sudo docker images [sudo] willzhao 的密码: REPOSITORY...命令都要输入密码不方便,尤其是在shell脚本中就更麻烦了,一起来解决这个问题; 设置 创建名为docker的组,如果之前已经有该组就会报错,可以忽略这个错误: sudo groupadd docker...将当前用户加入组docker: sudo gpasswd -a ${USER} docker 重启docker服务(生产环境请慎用): sudo systemctl restart docker 添加访问和执行权限

2.7K60
  • 设置root账号不用sudo直接执行docker命令

    环境信息 操作系统:Ubuntu 20.04 LTS 桌面版 Docker:19.03.10 现状 当前账号是willzhao,直接执行docker xxx命令会报以下错误: willzhao@ideapad...:~$ docker images Got permission denied while trying to connect to the Docker daemon socket at unix:/...: connect: permission denied 执行sudo docker xxx命令,会提示输入当前账号密码,然后可以成功: willzhao@ideapad:~$ sudo docker...命令都要输入密码不方便,尤其是在shell脚本中就更麻烦了,一起来解决这个问题; 设置 创建名为docker的组,如果之前已经有该组就会报错,可以忽略这个错误: sudo groupadd docker...将当前用户加入组docker: sudo gpasswd -a ${USER} docker 重启docker服务(生产环境请慎用): sudo systemctl restart docker 添加访问和执行权限

    72620

    基础学Docker【2】 | 一文带你快速学习Docker常用命令

    前言 本篇是基础学Docker系列的第二篇文章,在上一篇文章中?...本篇我们将趁热打铁,需要完成的任务如下: 掌握Docker的常用命令,包含但不限于镜像命令,容器命令,以及一些常用的其他命令 学会使用官方文档查找对应的命令说明 学会使用帮助命令来查找对应的命令说明 申明...另外我们也可以通过帮助命令命令行中让我们了解到不同的命令使用。 1、帮助命令 docker version #显示docker的版本信息。...docker info #显示docker的系统信息,包括镜像和容器的数量 docker 命令 --help #帮助命令 2、镜像命令 docker images #查看所有本地主机上的镜像...attach 容器id # 测试 [root@localhost /]# docker attach 9a1f7b30a10a 正在执行代码

    48020

    容器和 Kubernetes 中的退出码完整指南

    命令调用错误无法调用镜像中指定的命令127找不到文件或目录找不到镜像中指定的文件或目录128退出时使用的参数无效退出是用无效的退出码触发的(有效代码是 0-255 之间的整数)134异常终止 (SIGABRT...(SIGTERM)容器收到即将终止的警告,然后终止255退出状态超出范围容器退出,返回可接受范围之外的退出代码,表示错误原因未知 下面我们将解释如何在宿主机和 Kubernetes 中对失败的容器进行故障排除...当您使用命令 docker start 或 docker run 时会发生这种情况,使用 docker start 或 docker run 可能会发生这种情况。...退出码 1:应用错误 退出代码 1 表示容器由于以下原因之一停止: 应用程序错误:这可能是容器运行的代码中的简单编程错误,例如“除以”,也可能是与运行时环境相关的高级错误,例如 Java、Python...在这种情况下,docker inspect 命令将指示 OOMKilled 错误。 如果容器以退出码 137 终止怎么办?

    5.2K20

    Kubernetes 中容器的退出状态码参考指南

    ) 容器试图访问未分配给它的内存并被终止 143 优雅终止 (SIGTERM) 容器收到即将终止的警告,然后终止 255 退出状态超出范围 容器退出,返回可接受范围之外的退出代码,表示错误原因未知 下面我们将解释如何在宿主机和...当您使用命令 docker start 或 docker run 时会发生这种情况,使用 docker start 或 docker run 可能会发生这种情况。...退出码 1:应用错误 退出代码 1 表示容器由于以下原因之一停止: 应用程序错误:这可能是容器运行的代码中的简单编程错误,例如“除以”,也可能是与运行时环境相关的高级错误,例如 Java、Python...退出码 137:立即终止 (SIGKILL) 退出码 137 表示容器已收到来自主机操作系统的 SIGKILL 信号。该信号指示进程立即终止,没有宽限期。...在这种情况下,docker inspect 命令将指示 OOMKilled 错误。 如果容器以退出码 137 终止怎么办?

    27810

    如何在Bash中等待多个子进程完成,并且当其中任何一个子进程以退出状态结束时,使主进程也返回一个的退出码?

    问题 如何在 Bash 脚本中等待该脚本启动的多个子进程完成,并且当这其中任意一个子进程以退出码结束时,让该脚本也返回一个的退出码? 简单的脚本: #!...我应该如何修改这个脚本,使其能检测到被创建子进程的退出状态,并且当任何子进程以代码结束时,让脚本返回退出码 1?.../usr/bin/env bash # 这是一个特殊的 sleep 函数,它将睡眠的秒数作为"错误代码" # 或"返回代码"返回,以便我们可以清楚地看到,实际上 # 我们在每个进程完成时确实获取了它的返回代码...) procs+=("my_sleep 3") num_procs=${#procs[@]} # 数组中元素的个数 echo "num_procs = $num_procs" # 作为子进程运行命令并把...[ $rc -ne 0 ] && break # 若子进程以退出码结束,则跳出循环 done #echo $rc exit $rc 将代码保存为文件 wait_procs_demo.sh,再运行测试

    10200

    docker:(5)利用docker -v 和 Publish over SSH插件实现war包自动部署到docker

    在 docker:(3)docker容器挂载宿主主机目录 中介绍了运行docker时的一个重要命令 -v sudo docker run -p 8822:8080 --name tomcat_xiao_volume...:(4)利用WebHook实现持续集成 中实现了git提交代码触发jenkins自动打包并部署到远程tomcat中,这里讲怎么部署到docker中 首先已经得到war包了,下面要做的就是怎么把war包拷贝到...package  那么对应的目标路径就是/root/packages       这里问了更好的区分,我使用了时间戳,这就需要勾选上 Remote directory is a date format,并且时间格式的地方都需要用引号包含起来...,可以设置任何linx可以执行的命令或者shell脚本     设置好后保存,打包测试: ?     ...根据控制台输出,可以看出设置的shell命令也执行了,而且提示文件也上传到配置的服务器上了(后的137错误是因为我的阿里云服务器内存太小,自动部署到tomcat上失败了,这个与本次讲的无关,请忽略)

    70820

    Docker一键推送镜像 – shell脚本

    -eq 0 ]; then echo "Docker 镜像构建成功: $IMAGE_NAME" # 推送 Docker 镜像 sudo docker push $IMAGE_NAME...else echo "Docker 镜像构建失败" fi 使用说明: 将上述代码保存到一个文件中,例如 build_and_push.sh。...-eq 0 ]; then 是一个常见的 Bash 脚本语句,用于检查前一个命令的执行结果。 解释: $?:这是一个特殊变量,表示上一个命令的退出状态码。...成功执行的命令通常返回 0,而失败的命令返回一个值。 -eq:这是一个比较运算符,用于判断两个数是否相等。在这里,它用于检查 $? 的值是否等于 0。 if [ $?...-eq 0 ]; then:这个语句的意思是:如果上一个命令成功执行(即返回值为 0),那么就执行 then 后面的命令块。 特殊说明: 上述文章均是作者实际操作后产出。

    10710

    Kubernetes故障排查指南-分析容器退出状态码

    常见的容器退出状态码解释 [3] Exit Code 0 退出代码0表示特定容器没有附加前台进程 该退出代码是所有其他后续退出代码的例外 这不一定意味着发生了不好的事情。...这可以由用户或由docker守护程序来发起,手动执行:docker kill 137 比较常见,如果 pod 中的limit 资源设置较小,会运行内存不足导致 OOMKilled,此时state 中的...,或者 docker 的基础镜像有问题 Exit Code 143 表明容器收到了 SIGTERM 信号,终端关闭,对应kill -15 一般对应 docker stop 命令 有时docker stop...也会导致Exit Code 137。...发生在与代码无法处理 SIGTERM 的情况下,docker进程等待十秒钟然后发出 SIGKILL 强制退出。

    3.6K51

    docker 安装 clickhouse 单机版

    直接运行, docker 会自动帮你拉取镜像: docker run -d --name ch-server --ulimit nofile=262144:262144 -p 8123:8123 -p...PASSWORD=$(base64 < /dev/urandom | head -c8); echo "你的密码"; echo -n "你的密码" | sha256sum | tr -d '-' 执行以上命令后会在命令行打印密码明文和密码密文..., 如下 root(密码明文) 4813494d137e1631bba301d5acab6e7bb7aa74ce1185d456565ef51d737677b2 vim user.xml 修改用户密码...port :连接端口,默认9000 --user, -u :用户名,默认 default --password :密码,默认空 --query, -q :交互模式下的查询语句...允许多行语句查询,在clickhouse中默认回车即为sql结束,可使用该参数多行输入 --format, -f :使用指定的默认格式输出结果 csv,以逗号分隔 --time, -t :交互模式下会打印查询执行的时间

    1.5K51

    举几个Docker ps 命令的例子,Linux运维必知!

    您使用的第一个 Docker 命令docker ps命令,它显示了正在运行的容器: docker ps 实际上,运行此命令会为您提供正在运行的容器列表及其唯一的容器 ID、映像名称、它正在执行的命令、...docker ps 命令 Docker 有一个别名来显示所有使用 POSIX 友好命名约定的正在运行的容器。...作为系统管理员,经常会在脚本中使用此命令docker ps当您在脚本中运行时,Docker 提供了一些有用的选项。...显示所有容器(不仅仅是正在运行的容器) 由于 UNIXps命令用于显示进程(正在执行的程序),Docker 的行为类似。 运行docker ps只会显示处于活动状态的 docker 容器。...过滤 docker ps 的输出以获得更准确的结果 该docker ps命令有一个非常有用的选项--filter(或-f简称)。

    80720
    领券