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

如何将构建缓存推送到不安全的Docker Registry?

解决Docker Buildx推送至不安全仓库时的权限与配置问题

结合你遇到的insufficient_scope权限错误、Buildx参数被daemon拒绝的情况,再考虑到你使用的Docker 19.03.8版本特性,我整理了几个针对性的解决方案:

1. 开启Docker Daemon实验模式并确认不安全仓库配置

你的--allow security.insecure被拒绝,核心原因是Docker 19.03中Buildx属于实验特性,且daemon默认未开放相关权限。需要先调整daemon配置:

  • 编辑(或创建)/etc/docker/daemon.json文件,添加以下内容:
    {
      "insecure-registries": ["my-insecure-repo"],
      "experimental": true
    }
    
  • 重启Docker daemon使配置生效:
    sudo systemctl restart docker
    
  • 验证实验模式是否开启:
    docker version | grep Experimental
    
    确保Client和Server端的Experimental字段都显示为true。

2. 排查仓库登录权限与镜像路径

虽然docker login成功,但可能存在权限范围不匹配的问题:

  • 确认你登录的用户拥有my-insecure-repo/lib/test这个仓库路径的推送权限,部分私有仓库会对命名空间(比如lib/前缀)做单独权限限制。
  • 先尝试推送一个简单镜像测试基础权限:
    docker pull alpine
    docker tag alpine my-insecure-repo/lib/test:test-push
    docker push my-insecure-repo/lib/test:test-push
    
    如果这个操作失败,说明是仓库权限配置问题,需要联系管理员调整;如果成功,说明问题出在Buildx的参数或兼容性上。

3. 调整Buildx命令的参数格式与顺序

Docker 19.03的Buildx对参数兼容性较差,尝试调整命令写法:

  • 确保-t标签包含完整仓库路径(避免默认指向Docker Hub),同时给缓存和输出参数都加上不安全仓库标识:
    docker buildx build \
      --cache-to=type=registry,ref=my-insecure-repo/lib/test:0730,cache-insecure=true \
      --output=type=image,push=true,registry.insecure=true \
      -t my-insecure-repo/lib/test:0730 \
      -f ut.dockerfile .
    

4. 绕过Buildx使用原生构建推送

如果Buildx的兼容性问题无法解决,考虑使用Docker原生命令完成构建推送(19.03版本的Buildx还处于早期实验阶段,稳定性不足):

# 构建镜像
docker build -t my-insecure-repo/lib/test:0730 -f ut.dockerfile .
# 推送镜像
docker push my-insecure-repo/lib/test:0730

如果需要远程缓存支持,可以添加--cache-from参数:

docker build --cache-from=my-insecure-repo/lib/test:0730 -t my-insecure-repo/lib/test:0730 -f ut.dockerfile .
docker push my-insecure-repo/lib/test:0730

5. 升级Docker版本(推荐方案)

Docker 19.03.8是2020年的旧版本,后续版本对Buildx、不安全仓库的支持做了大量优化。建议升级到20.10.x或更高的稳定版本,新版本不仅能解决这类权限兼容问题,还能获得更多功能和安全更新。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 17:52:35