在WSL环境下构建docker镜像时无法连接Docker daemon问题求助
报错原因
- 默认WSL实例未启用systemd作为初始化进程,因此无法使用
systemctl系列命令管理系统服务 - Docker守护进程未正常运行,导致
docker-compose无法连接到服务端抛出连接失败报错
解决方案
方案1:开启WSL systemd支持(推荐,适配原生Ubuntu使用习惯)
- 编辑WSL全局配置文件:
sudo nano /etc/wsl.conf
- 写入以下配置内容:
[boot] systemd=true
- 保存文件退出后,在Windows终端执行命令重启WSL实例:
wsl --shutdown
- 重新进入WSL后即可正常使用systemctl命令:
# 启动docker服务 sudo systemctl start docker # 设置docker开机自启 sudo systemctl enable docker
方案2:无需开启systemd,使用原生service命令管理
直接执行以下命令启动docker服务即可:
sudo service docker start
如果需要开机自动启动,将上述命令添加到~/.bashrc(bash用户)或~/.zshrc(zsh用户)文件末尾即可。
验证操作
执行docker info命令无报错即为Docker守护进程启动成功,可正常执行docker-compose build等相关命令。
内容的提问来源于stack exchange,提问作者ItsNotAndy
相关产品推荐
相关产品推荐

