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

Spring Boot 2.7执行mvn spring-boot:build-image构建Docker镜像失败求助

解决Spring Boot Maven Plugin构建Docker镜像时连接Docker Daemon失败的问题

这个错误提示[2] No such file or directory,核心是Maven插件无法找到Docker Daemon的连接入口,以下是针对性的解决步骤:

  • 确认Docker Daemon处于运行状态

    • Linux系统执行systemctl status docker查看服务状态,未启动则运行systemctl start docker启动;
    • Windows/macOS直接查看Docker Desktop托盘图标,确保程序正常运行,未启动则打开Docker Desktop。
  • 检查Docker Socket路径配置
    默认Docker Unix socket路径为/var/run/docker.sock,如果你的Docker使用了自定义路径,需要在pom.xml的插件配置中指定:

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
            <docker>
                <host>unix:///你的自定义路径/docker.sock</host>
            </docker>
        </configuration>
    </plugin>
    

    Windows系统默认使用npipe协议,路径为npipe:////./pipe/docker_engine,确保插件配置或环境变量指向该地址。

  • 修复Docker Socket权限问题(Linux专属)
    当前用户可能没有访问Docker socket的权限,两种解决方式:

    1. 临时授权(简单但重启后失效):
      sudo chmod 666 /var/run/docker.sock
      
    2. 将用户加入docker组(永久生效,更安全):
      sudo usermod -aG docker $USER
      
      执行后需重新登录会话才能生效。
  • 配置DOCKER_HOST环境变量
    直接通过环境变量告知Maven插件Docker Daemon的地址:

    • Linux/macOS终端:
      export DOCKER_HOST=unix:///var/run/docker.sock
      
    • Windows命令行:
      set DOCKER_HOST=npipe:////./pipe/docker_engine
      
    • Windows PowerShell:
      $env:DOCKER_HOST = "npipe:////./pipe/docker_engine"
      
  • 检查Docker Desktop配置(Windows/macOS)
    打开Docker Desktop的设置面板,若使用TCP连接,确保Expose daemon on tcp://localhost:2375 without TLS(或带TLS的2376端口)选项已勾选;
    若勾选了2376带TLS,还需设置DOCKER_TLS_VERIFY=1,并指定DOCKER_CERT_PATH指向证书存放目录。

内容的提问来源于stack exchange,提问作者Dennis Githinji Wakahia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 03:21:31