[随记] 安装 docker 报错排查
问题
今天在一台刚装好系统的 ubuntu20.04 服务器上安装 docker,遇到下面的报错:
解决过程
我按照系统提示使用 systemctl status docker.service
和 journalctl -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
如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!