- 现象描述
当我们尝试启动Docker Desktop时,可能会出现以下错误提示:
Error: failed to start daemon: Error initializing network controller: list bridge addresses failed: PredefinedLocalScopeDefaultNetworks List Failed: Unable to retrieve docker NAT IP
或者
Docker Desktop is starting…
Initializing…
Starting…
ERROR: failed to start: Failed to start Docker Desktop.
- 解决方案
大致步骤如下:
Step 1:查看日志
在Docker Desktop设置中,可以勾选“启用日志记录”,然后重启Docker Desktop。这样在出现错误时,我们可以查看Docker Desktop的日志来查找问题。
Step 2:检查Docker网络
在终端运行以下命令,检查Docker网络是否正常:
docker network ls
如果没有任何输出,说明没有可用的网络,需要重新创建网络:
docker network create --subnet=172.18.0.0/16 mynetwork
可以选择更改子网地址。然后再次运行 docker network ls
命令来查看网络是否已成功创建。
Step 3:关闭VPN
如果你运行着VPN软件,并且Docker Desktop出现问题,可以尝试退出VPN后重新启动Docker Desktop,看是否能解决问题。
Step 4:修改Docker Daemon配置
有时候,修改Docker Daemon配置可以解决Docker Desktop无法启动的问题。在macOS系统中,配置文件位于 ~/Library/Group Containers/group.com.docker/settings.json
。
比如,我们可以在配置文件中添加以下内容:
"registry-mirrors": ["https://docker.mirror-fangcloud.com"]
这样可以使用国内的镜像源来加速下载镜像,提高启动速度。
Step 5:重启Docker服务
在终端中输入以下命令来重启Docker服务:
sudo service docker restart
如果重启后Docker Desktop仍然无法启动,可以尝试卸载并重新安装Docker Desktop,并且保证你的电脑符合Docker Desktop的硬件和软件要求。
- 示例解释
示例1:Docker Desktop报错“Error initializing network controller: list bridge addresses failed”
这个错误是由于Docker网络异常引起的。可以通过重新创建网络来解决。比如,在终端中运行以下命令:
docker network create --subnet=172.18.0.0/16 mynetwork
这个命令将创建一个名为 “mynetwork” 的Docker网络,并为其指定了子网 “172.18.0.0”。我们可以使用这个网络来启动Docker容器。
示例2:Docker Desktop启动失败
如果Docker Desktop出现启动失败的情况,可以检查Docker Desktop日志来查找问题所在。在设置中勾选“启用日志记录”,然后重启Docker Desktop,就可以查看日志。根据日志中的具体问题,采取相应的措施进行解决。比如,可以尝试关闭VPN,修改Docker Daemon配置,或者重启Docker服务等。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker Desktop无法正常启动解决(failed to start…) - Python技术站