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

Jib Gradle插件+静态Docker客户端构建镜像遇权限错误排查

问题:Jib Gradle插件构建Docker镜像时权限错误(Windows+WSL2 dockerd)

环境配置

WSL2 侧

  • 在Ubuntu 20中运行dockerd服务,监听[::]:2375,禁用TLS(--tls=false),仅使用HTTP

Windows 侧

  • 仅使用静态Docker客户端,已在docker.exe同目录的daemon.json中添加WSL2容器动态IP到insecure-registry配置项

Intellij IDEA + Gradle 侧

  • 使用Gradle 5.2.1 wrapper、Jib插件3.2.1,配置如下:
jib {
    dockerClient.executable = 'E:\\coding\\environment\\docker\\docker.exe'
    dockerClient.environment = [ DOCKER_HOST: '172.21.169.180:2375',
                                 DOCKER_INSECURE_REGISTRIES: "172.21.169.180:5000"]
    from.image = 'docker://mini/java@sha256:d3ded1fd0df592c33185d930d976304994bbc539c7bf70a6091cb3da0f7e11fa'
    to.image = 'spring-plugins-demo'
    container.mainClass = 'dev.westerngun.oldway.ApplicationV1'
}

错误现象

已确认能成功连接WSL2中的dockerd(之前未添加IP时提示无法连接守护进程,现在可加载基础镜像并开始构建),但执行jibDockerBuild --stacktrace时出现错误:

Execution failed for task ':jibDockerBuild'.
> com.google.cloud.tools.jib.plugins.common.BuildStepsExecutionException: C:\Users\WESTER~1\AppData\Local\Temp\16164656866093264693\33e3f3775358985441c3bea658f06f5307326c83f9c0bcbf8aa4acb327abffde\layer.tar: 客户端没有所需的特权。

错误翻译:A required permission is not held by the client

已排查内容

  • 怀疑用户未加入docker-user组,但已卸载Docker Toolbox,该组不存在;Windows 10家庭版无“本地用户和组”功能,不确定手动创建组是否有效(Docker文档说明该组由工具自动创建并配置权限,仅创建组可能无效)
  • 使用docker.exe连接WSL2并将tar文件保存到上述临时目录可正常执行,文件未损坏,排除目录权限问题
  • 重命名System32中的tar.exe后问题依旧,排除系统自带tar工具的影响

需求

解决该权限错误,完成Jib插件构建Docker镜像的流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 16:10:30