Win10环境Docker驱动缺失且Sj变量未设置,容器无法构建运行
Docker容器消失+守护进程连接失败的问题排查与解决
问题原因
- Docker守护进程(daemon)未正常运行:报错
dial unix /run/guest-services/docker.sock: connect: connection refused说明Docker客户端无法和后台守护进程建立通信,常见于Docker Desktop未启动、WSL2集成的Docker服务崩溃,或Docker服务被意外终止。 - 容器消失:大概率是守护进程异常退出导致容器状态丢失,或是WSL2虚拟机重启后容器未设置自动启动。
- 环境变量未定义:
docker-compose.yml中引用了Sj变量,但该变量未在环境或.env文件中定义,因此触发警告。
解决办法
一、修复Docker守护进程连接问题
- 检查并启动Docker Desktop
- 打开任务管理器,确认Docker Desktop进程是否运行。若未运行,手动启动Docker Desktop,等待右下角托盘图标显示就绪状态。
- 若启动失败,尝试重启电脑后再次启动。
- 修复WSL2集成(使用WSL后端时)
- 打开Docker Desktop设置,进入
Resources > WSL Integration,确保对应WSL发行版(如Ubuntu)处于开启状态。 - 执行命令重启WSL:
重新打开WSL终端后再尝试Docker命令。wsl --shutdown
- 打开Docker Desktop设置,进入
- 重启Docker服务
- 按下Win+R输入
services.msc打开服务列表,找到Docker Desktop Service,右键选择重启。
- 按下Win+R输入
二、恢复容器
- 守护进程修复后,执行以下命令查看所有容器(包括停止状态):
若能找到之前的容器,用docker ps -adocker start <容器ID/名称>启动。 - 若容器已丢失,需从镜像重新创建,或检查是否有容器备份文件(如
docker export导出的归档)。
三、消除环境变量警告
- 在项目根目录创建或编辑
.env文件,添加:Sj=你的变量值 - 或在执行命令时临时传入变量:
Sj=指定值 docker-compose -f C:\wamp64\www\simplaq-api\docker-compose.development.yml build
内容的提问来源于stack exchange,提问作者Čamo
相关产品推荐
相关产品推荐

