在 Ubuntu/WSL 上运行 docker 时出现“无法连接到 Docker 守护程序....”

在 Ubuntu/WSL 上运行 docker 时出现“无法连接到 Docker 守护程序....”

我正在尝试使用命令在 WSL(Windows 10)中运行 docker sudo service docker start,它显示:

 Starting Docker: docker

但是当我运行时sudo docker images,它告诉我:

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

关于如何修复此问题,我有什么想法吗?

答案1

它来自于使用 nftables 代替 iptables我 从这些线程中
找到了此解决方案:
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy

https://github.com/microsoft/WSL/discussions/4872
https://patrickwu.space/2021/03/09/wsl-solution-to-native-docker-daemon-not-starting/

答案2

我在断电后遇到了这个问题。如果这也是我遇到的问题,那么你的settings.jsonDocker 可能已损坏。修复方法:

  • 移至%AppData\Docker\settings.json(通常C:\Users\<user_user_profile>\AppData\Roaming\Docker\settings.json)安全位置进行备份
  • 重启 Docker Desktop
  • 如果此操作能解决问题,您可以删除备份settings.json。如果没有,您可以将其恢复到之前的位置。

答案3

这个修复对我有用:

  • 跑步sudo update-alternatives --config iptables
  • 进入1选择iptables-旧版
  • 运行sudo service docker启动Docker

相关内容