You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell无法连接Docker守护进程,CMD可正常运行求助

解决PowerShell执行docker version报错的问题

检查Docker环境变量

  • 打开PowerShell,执行 echo $env:DOCKER_HOST,查看输出是否为npipe:////./pipe/docker_engine(Windows Docker Desktop默认的命名管道地址)。如果输出为空或unix:///var/run/docker.sock,就是环境变量配置错误导致的问题。
  • 打开CMD执行 echo %DOCKER_HOST%,对比两者输出,CMD的结果应该是正确的Windows端地址。

手动配置PowerShell环境变量

  • 临时生效:在当前PowerShell窗口执行 $env:DOCKER_HOST = "npipe:////./pipe/docker_engine",之后再运行docker version测试连接。
  • 永久生效:
    1. 打开PowerShell,执行 notepad $PROFILE,若提示文件不存在,先执行 New-Item -Path $PROFILE -ItemType File -Force 创建配置文件。
    2. 在打开的文件中添加一行:$env:DOCKER_HOST = "npipe:////./pipe/docker_engine",保存后关闭。
    3. 重启PowerShell,环境变量会自动加载。

检查Docker Desktop配置

  • 打开Docker Desktop,进入Settings -> General,确保勾选Use the WSL 2 based engine(使用WSL2引擎时),或Expose daemon on tcp://localhost:2375 without TLS(需要TCP连接时,优先推荐命名管道更安全)。
  • 若使用WSL2子系统的PowerShell,需确认WSL内的Docker客户端指向Windows的Docker daemon,但你CMD能正常运行,大概率是Windows原生PowerShell的环境变量问题。

重置Docker客户端配置

  • 若以上方法无效,可删除PowerShell的Docker配置文件:找到用户目录下的.docker文件夹(例如C:\Users\你的用户名\.docker),删除其中的config.json文件,之后重启Docker Desktop和PowerShell。

内容的提问来源于stack exchange,提问作者MarkSeeSharp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 14:07:02