使用mvn spring-boot:build-image命令在Docker中创建镜像失败求助
解决Spring Boot Maven插件连接WSL2 Docker失败的问题
方案1:配置环境变量指向WSL2的Docker套接字
- 在STS终端里设置环境变量,让Maven指向WSL2的Docker服务:
若用CMD:
若用PowerShell:set DOCKER_HOST=tcp://localhost:2375$env:DOCKER_HOST = "tcp://localhost:2375" - 进入WSL2的Ubuntu,修改Docker配置开启TCP监听:
编辑/etc/docker/daemon.json文件,添加以下内容:{ "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"] } - 重启Docker服务生效:
sudo systemctl restart docker
方案2:直接在WSL2终端执行构建命令
- 打开WSL2的Ubuntu终端,切换到项目目录(Windows的C盘文件可通过
/mnt/c/访问,比如cd /mnt/c/Projects/HelloWorld) - 直接运行
mvn spring-boot:build-image,此时Maven会直接调用WSL2本地的Docker daemon,避免跨环境连接问题
方案3:通过Docker Desktop开启WSL集成(如果使用Docker Desktop)
- 打开Docker Desktop,进入「设置」→「资源」→「WSL集成」
- 勾选你的Ubuntu发行版,点击「应用并重启」
- 完成后,Windows下的STS终端会自动关联WSL2的Docker daemon,无需手动配置环境变量
验证连接
先执行docker info命令,若能正常输出Docker系统信息,说明连接正常,再重新运行mvn spring-boot:build-image即可。
内容的提问来源于stack exchange,提问作者Yashaswi
相关产品推荐
相关产品推荐

