docker无法启动排查运维记录

Docker Daemon 连接问题解决文档

问题描述

在使用 Docker 命令时,遇到以下错误:

~$ docker images
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

问题分析

经过查询,问题可能与 iptables 设置有关。

解决步骤

  1. 切换 iptables 设置
    使用以下命令查看当前的 iptables 选项:

    sudo update-alternatives --config iptables
    

    输出可能如下:

    有 2 个候选项可用于替换 iptables (提供 /usr/sbin/iptables)。
    
      选择       路径                     优先级  状态
    ------------------------------------------------------------
    * 0            /usr/sbin/iptables-nft      20        自动模式
      1            /usr/sbin/iptables-legacy   10        手动模式
      2            /usr/sbin/iptables-nft      20        手动模式
    
    要维持当前值[*]请按<回车键>,或者键入选择的编号:
    

    输入选项 1(选择 iptables-legacy),然后按 Enter 键。

    应该看到类似于以下的输出,确认切换已成功:

    update-alternatives: 使用 /usr/sbin/iptables-legacy 替换 /usr/sbin/iptables。
    
  2. 重新启动 Docker 服务

    sudo systemctl restart docker
    
  3. 检查 Docker 服务状态

    sudo systemctl status docker
    
  4. 验证 Docker 功能
    运行以下命令确认问题已解决:

    ~$ docker images
    

    如果一切正常,应该看到镜像列表:

    REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
    

结论

通过将 iptables 切换为 iptables-legacy,成功解决了 Docker 无法连接到守护进程的问题。

posted @ 2024-09-22 17:51  rainsc  阅读(35)  评论(0编辑  收藏  举报