当前位置: 首页 > news >正文

[随记] 安装 docker 报错排查

问题

今天在一台刚装好系统的 ubuntu20.04 服务器上安装 docker,遇到下面的报错:

在这里插入图片描述

解决过程

我按照系统提示使用 systemctl status docker.servicejournalctl -xe 指令来排查。

systemctl status docker.service 提供不了什么有用信息,显示 docker 服务 inactive。

journalctl -xe 显示如下,提示一堆 ‘dead’ 状态,但是也没说明具体原因。

在这里插入图片描述

问了 chatgpt,发现有一个建议是使用 -u 指定 docker 的专有日志,完整命令是 sudo journalctl -u docker --no-pager | tail -n 50,结果如下,很容易就看出是 iptables 的问题。安装 iptables 就解决了。

在这里插入图片描述

特地问了 chatgpt 为什么 journalctl -xe 看不到 docker 报错详情,但是 journalctl -u docker 却可以,回答如下:

因为这个错误是 Docker 启动过程中的输出,属于 Docker 服务内部日志的一部分,不一定会被 systemd 标记为“系统错误”放到 -xe 的视图里。

所以:

journalctl -xe 看的是“摘要 + 错误级别较高”的日志。

journalctl -u docker 是“原汁原味”的 Docker 服务日志,包含所有级别(info/warning/error),所以你能看到详细的 iptables 报错。

总结

因此,以后在遇到这种类似的问题,应该按照下面这样做。基本上可以独立解决大部分报错问题。

# 确定 docker 的运行情况
sudo systemctl status docker
# 查看系统报错的整体情况
sudo journalctl -xe
# 查看 docker 报错的具体情况
sudo journalctl -u docker --no-pager | tail -n 50
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/120628.html

相关文章:

  • Docker 入门指南:基础知识解析
  • 【C++初学】C++实现通讯录管理系统:从零开始的详细教程
  • 道路坑洼目标检测数据集-665-labelme
  • Linux系统学习Day1——虚拟机间的讲话
  • 五子棋游戏开发:静态资源的重要性与设计思路
  • WPF 资源加载问题:真是 XAML 的锅吗?
  • [MySQL数据库] InnoDB存储引擎(二) : 磁盘结构详解
  • 智慧景区能源管理解决方案,为旅游“升温”保驾护航
  • 不用第三方库调用DeepSeek
  • Go语言从零构建SQL数据库(6) - sql解析器(番外)- *号的处理
  • React 列表渲染
  • 算法(0)-时间复杂度-二分法的详解与扩展-对数器-C++版
  • cmake阅读笔记
  • HTTP代理:内容分发战场上的「隐形指挥官」
  • Lettuce与Springboot集成使用
  • 蓝桥杯-数字诗意
  • MTK-Android12-13 屏幕永不休眠功能实现
  • 落子宜宾:全方位解析树莓集团现状布局
  • Vue3+Vite+TypeScript+Element Plus开发-06.Header响应式菜单缩展
  • AIDD-人工智能药物设计-TCMP-12个公开的中药数据库
  • window上 docker使用ros2开发并usbip共享usb设备
  • C# 中的 nameof 表达式:用法详解与最佳实践
  • Vue3 + Vite + TS,使用 Web Worker,web worker进阶 hooks
  • Qt中自定义插件和库(1)
  • 深入理解Docker Bridge网络模式:原理与实践指南
  • leetcode_203. 移除链表元素_java
  • 网络安全法规与入门指南
  • 【Android Studio】第一个Android程序 运行流程 程序调试 | 实操实战图文详细
  • net9.0 中System.Text.Json序列化和反序列化
  • spring-cloud-starter-dubbo使用说明