• 启动容器十秒后容器自动停止


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 一二三578 2024-05-30 15:29 采纳率: 0% 浏览 1 首页/ 开发工具 / 启动容器十秒后容器自动停止 docker ubuntu中 运行sudo docker -d -p 8080:8080 -p 29418:29418 --name gerrit3 -v /home/ubuntu/gerrit_volume:/var/gerrit/review_site-v /home/ubuntu/gerrit_config:/var/gerrit/etc -v /home/ubuntu/gerrit_data:/var/gerrit/git -v /home/ubuntu/gerrit_index:/var/gerrit/index -v /home/ubuntu/gerrit_cache:/var/gerrit/cache \gerritcodereview/gerrit:3.9.1 此命令后,gerrit3容器运行十秒后会自动停止,是什么原因,应该怎么坐 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    2条回答 默认 最新

    • 阿里嘎多学长 2024-05-30 15:29
      关注

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


      要解决Docker容器在启动后不久自动停止的问题,你可以按照以下步骤进行排查和解决:

      1. 查看容器日志: 容器日志通常包含了运行时的错误信息,这是排查问题的首选步骤。使用以下命令来查看日志:

        sudo docker logs gerrit3
        
      2. 检查资源使用情况: 如果容器因为资源不足而停止,你可以使用docker stats命令来查看容器的资源使用情况:

        sudo docker stats
        
      3. 检查卷挂载: 确保挂载的卷路径正确,并且Docker有权限访问这些路径。此外,检查卷中的文件权限是否正确,以确保容器内的服务可以正确读写这些文件。

      4. 检查网络设置: 使用docker inspect命令来检查端口映射和其他网络配置是否正确:

        sudo docker inspect gerrit3
        
      5. 检查镜像版本: 确认你使用的gerritcodereview/gerrit:3.9.1镜像是否是最新的,或者是否有已知的bug。你可以访问Docker Hub查看镜像信息: Gerrit Docker Hub

      6. 代码实现: 如果需要修改容器配置或启动命令,你可以编辑Dockerfile或使用docker-compose来管理服务。

      7. 参考资料

      8. 其他排查方法

        • 尝试重新启动容器,看是否问题重现。
        • 检查系统日志,比如/var/log/syslogjournalctl,看是否有系统级别的错误信息。
      9. 调试建议

        • 如果日志中提示有权限问题,尝试以root用户运行容器或修改卷的权限。
        • 如果是资源问题,考虑是否需要增加系统资源或优化容器配置。
        • 如果是网络问题,检查防火墙设置或网络接口配置。
      10. 重启策略: 检查Docker容器的重启策略,确保它不是被设置为在遇到错误时不重启:

        sudo docker inspect --format='{{.HostConfig.RestartPolicy.Name}}' gerrit3
        

      如果以上步骤都不能解决问题,可能需要更详细的错误信息或日志来进行进一步的分析。在某些情况下,问题可能与特定的系统配置或第三方服务有关,这时候可能需要更专业的技术支持。

      展开全部

      评论 编辑记录
    • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-30 15:29
      关注

      引自免费微信小程序:皆我百晓生

      首先,我们需要了解Gerrit容器停止的原因。这可能是由于容器内发生了错误、资源耗尽或者是配置问题导致的。我们可以通过查看容器的日志来找出具体原因。

      在Docker中,可以使用docker logs命令来获取容器的日志信息。在您的情况下,应该执行以下命令来获取gerrit3容器的日志:

      sudo docker logs gerrit3
      

      日志输出可能会显示具体的错误信息或异常堆栈,这样我们可以针对性地解决。如果日志内容过多,您可以尝试过滤出最近的信息,例如:

      sudo docker logs -f gerrit3 --tail=50
      

      这里 -f 参数表示 tail 命令持续刷新日志,--tail=50 表示只显示最新的50条记录。

      如果日志中没有明显的错误信息,可能需要检查以下几个方面:

      1. 端口映射:确保主机上的端口(如8080, 29418)未被其他服务占用。
      2. 环境变量:确认所有必要的环境变量已正确设置,并且在容器内部可访问。
      3. 内存限制:检查是否为容器设置了适当的内存限制。可以使用 docker stats 查看资源使用情况。
      4. 卷挂载:确认挂载的文件夹路径在主机上存在,并且对Docker有读写权限。

      如果上述步骤未能找到问题,您还可以考虑重新构建并启动一个新容器,以排除可能的镜像问题。在构建之前,请确保您的Dockerfile或相关配置文件是正确的。

      如果您仍然遇到困难,提供详细的日志信息将有助于进一步分析和解决问题。

      评论 编辑记录
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    ESP8266-Arduino编程实例-ML8511紫外线(UV)传感器驱动
    【C++】string笔记
    Linux 基本指令大全。(万字详解)
    SpringBoot如何打日志、控制输出格式、存储日志到文件
    计算机中的 原码、反码、补码 详解
    数据挖掘note(赵老师语录)
    flutter iOS 缺少通知权限,缺少位置权限
    优化器简单概述
    WAF Bypass及案例实战
    解决flex:1失效的问题
  • 原文地址:https://ask.csdn.net/questions/8111673