Portainer可见但Docker CLI无法列出Docker容器的问题排查求助
Portainer可见但Docker CLI无法列出Docker容器的问题排查求助
嘿,碰到这种Portainer能看到容器但CLI列不出来的情况,咱们一步步排查试试:
- 先检查用户权限:你当前使用CLI的用户有没有访问
/var/run/docker.sock的权限?Docker的sock文件默认属于docker用户组,你可以用groups命令查看自己是否在这个组里。如果不在,执行sudo usermod -aG docker $USER把自己加入组,然后退出当前会话重新登录才能生效。 - 确认容器状态:
docker container ls默认只显示运行中的容器,你可以试试docker container ls -a列出所有状态的容器,看看Portainer里的容器是不是处于停止状态,所以没被默认命令列出来。 - 核对Docker实例:虽然你的上下文显示是
unix:///var/run/docker.sock,但还是可以用docker info查看当前CLI连接的Docker daemon信息,对比Portainer里显示的Docker版本、容器总数等数据,确认两者连接的是不是同一个Docker实例。 - 排查Swarm可能性:如果Portainer连接的是Docker Swarm集群,而你的CLI没有切换到Swarm上下文,也可能出现这种情况。可以用
docker node ls检查是否存在Swarm节点,排除这个可能性。 - 重启Docker服务:有时候Docker daemon可能出现异常,试试执行
sudo systemctl restart docker(针对systemd系统),重启后再用docker container ls查看是否正常显示容器。
备注:内容来源于stack exchange,提问作者fingertwist
相关产品推荐
相关产品推荐

