• 关于麒麟x86docker问题


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 m0_69918029 2024-03-26 00:04 采纳率: 50% 浏览 1 首页/ 运维 / 关于麒麟x86docker问题 ubuntu 在麒麟桌面版和服务版两个版本上,联网安装docker之后启动容器正常没问题但是离线安装docker后,启动容器会报错 看了有说runc版本太低,升级runc版本之后还是同样的错误, 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    4条回答 默认 最新

    • Kwan的解忧杂货铺 Java领域优质创作者 2024-03-26 00:04
      关注

      m0_69918029 上午好☀️☀️☀️️
      本答案参考ChatGPT-3.5

      根据你的描述,启动容器时报告了内存不足的错误。错误日志中提到了Java Runtime Environment(JRE)的问题,可能是由于容器中运行的应用程序需要更多的内存资源。

      解决这个问题的方法可以有以下几个方向:

      1. 增加内存资源: 确保你的系统具有足够的可用内存来支持Docker容器的正常运行。可以通过添加更多的物理内存或者调整虚拟机的内存分配来解决这个问题。

      2. 调整Java虚拟机内存参数: 如果你的应用程序是使用Java编写的,可以尝试调整Java虚拟机的内存参数来限制其使用的内存量。可以通过修改容器中应用程序的启动脚本或者Dockerfile来设置JVM的堆大小、栈大小等参数。

      3. 检查Docker配置: 确保你的Docker配置文件中没有设置到过度消耗内存的参数,例如--memory--memory-swap。如果有这样的参数设置,可以尝试调整它们以适应你的系统资源。

      4. 检查Docker镜像: 确保你使用的Docker镜像本身没有内存泄漏或者其它内存相关的问题。你可以尝试使用其它镜像来测试是否存在镜像本身的问题。

      5. 升级Docker: 你提到过升级runc版本,但问题依然存在。你可以尝试升级整个Docker版本,包括Docker引擎和相关组件,以便修复其它可能的Bug或者问题。

      请根据以上的解决方案逐一尝试,根据具体情况选择最适合的解决方法来解决你的问题。

      评论
    • 阿里嘎多学长 2024-03-26 00:04
      关注

      以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


      从您提供的信息和图片来看,错误信息是 unknown runtime 'docker-runc'。这通常意味着 Docker 引擎找不到合适的运行时来启动容器。在 Docker 中,默认的运行时是 runc,但这里它似乎无法识别这个运行时。

      麒麟操作系统(Kylin OS)基于 Ubuntu,所以解决方法可能与 Ubuntu 类似。在 Ubuntu 或其衍生版中,这个问题通常是由于 Docker 的升级导致的配置文件中的旧引用 docker-runc 需要更新为 runc

      以下是一些可能的解决步骤:

      1. 确认 runc 是否已安装: 首先,确保 runc 已经正确安装并且是最新的版本。你可以通过运行 sudo apt-get install -y runc 来安装或更新。

      2. 更新配置文件: 检查并更新 /etc/docker/daemon.json 文件,确保没有指定过时的 runtime。如果文件不存在,创建它,并添加以下内容(如果尚未包含):

        {
          "default-runtime": "runc",
          "runtimes": {
            "runc": {
              "path": "/usr/bin/runc"
            }
          }
        }
        

        如果文件已经存在,请确保 "default-runtime" 是 "runc"。

      3. 重启 Docker 服务: 更新配置后,重启 Docker 服务以应用更改:

        sudo systemctl restart docker
        
      4. 检查运行时: 确认 Docker 是否能够找到 runc

        docker run --rm --runtime=runc alpine echo hello
        

        如果输出 "hello",则说明 Docker 正确地使用了 runc

      如果以上步骤不能解决问题,可能需要进一步排查其他可能的原因,比如 Docker 服务的环境变量、系统权限或者与麒麟系统的兼容性问题。确保所有 Docker 相关的包都是最新且适合麒麟操作系统的。在离线环境中,确保你下载的是适用于麒麟系统的 Docker 包,并且所有的依赖也都已经正确安装。

      展开全部

      评论
    • m0_69918029 2024-03-26 00:06
      关注

      物理内存和虚拟机内存足够,联网安装docker后,是没有这个报错的
      就离线安装后报这个错误

      评论
    • GISer Liu 2024-03-29 23:08
      关注

      该回答引用自GPT-3.5,由博主GISer Liu编写:

      麒麟操作系统在不同版本上安装 Docker 后出现启动容器报错的情况,可能与离线安装时依赖的一些组件或配置有关。以下是可能的解决思路和方案:

      1. 检查 Docker 安装是否完整: 离线安装可能导致某些组件或配置不完整,建议重新检查安装过程,确保所有步骤都正确执行。
      2. 检查依赖项: Docker 启动容器需要依赖一些组件和配置,如 cgroup、namespace 等,可能离线安装时这些依赖项没有正确配置。可以通过检查相关依赖项的配置来确认。
      3. 检查 runc 版本: 确认 runc 版本是否正确升级,可以使用 runc -v 命令查看当前版本,确保升级后的版本符合 Docker 的要求。
      4. 查看报错信息: 查看启动容器时的具体报错信息,例如错误日志或控制台输出,从中可以定位到具体的问题,有助于进一步解决。
      5. 重新安装 Docker: 如果以上方法都无法解决问题,可以尝试重新下载最新版本的 Docker,并按照官方文档重新安装,确保安装过程中没有遗漏任何步骤。
        以上是一些可能的解决思路和方案,具体解决方法还需要根据实际情况进行调整和尝试。

      如果该回答解决了您的问题,请采纳!如果没有,请参考以下方案进行修订

      用户答题指南

      评论
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    国信证券笔试题总分120分
    uniapp实现图片上传——支持APP、微信小程序
    ROI的投入产出比是什么?
    Java数字处理类-- Math类--数学运算
    Java8中List转Map报错“java.lang.IllegalStateException: Duplicate key”
    sql 注入, 报错型注入
    webpack 高级
    C#:实现区域生长算法(附完整源码)
    elasticsearch 集群部署
    mysql中的字段如何选择合适的数据类型呢?
  • 原文地址:https://ask.csdn.net/questions/8079002