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

DockerHub自动构建BitBucket仓库Docker镜像失败问题咨询

DockerHub自动构建BitBucket仓库Docker镜像失败问题咨询

看起来你遇到的是DockerHub自动构建拉取BitBucket代码时的SSH权限认证失败问题,我来帮你捋捋可能的原因和解决思路:

首先先把你遇到的错误日志整理出来更清晰:

2024-10-10T14:56:03Z Cloning into '.'...
2024-10-10T14:56:03Z Warning: Permanently added the ECDSA host key for IP address '104.192.142.24' to the list of known hosts.
2024-10-10T14:56:04Z git@bitbucket.org: Permission denied (publickey).
2024-10-10T14:56:04Z fatal: Could not read from remote repository.
2024-10-10T14:56:04Z 
2024-10-10T14:56:04Z Please make sure you have the correct access rights
2024-10-10T14:56:04Z and the repository exists.
2024-10-10T14:56:04Z please ensure the correct public key is added to the list of trusted keys for this repository (128)

核心问题分析

从日志里的git@bitbucket.org: Permission denied (publickey)和最后那句提示,核心问题非常明确:DockerHub用来拉取你BitBucket仓库代码的SSH公钥,要么从仓库的信任密钥列表里消失了,要么已经失效。

你说自己没做任何更改,但可能是这些你没注意到的变动导致的:

  • BitBucket侧的安全策略更新:比如BitBucket最近可能清理了长期未被使用的部署密钥,或者更新了SSH密钥的支持规则(比如不再允许短长度的RSA密钥)
  • 仓库密钥被误操作移除:如果你的仓库有其他管理员,可能有人在整理密钥的时候不小心删掉了DockerHub对应的那条
  • DockerHub侧的密钥自动轮换:虽然你没手动修改,但DockerHub的自动构建服务可能后台轮换了SSH密钥对,旧的公钥自然就失效了

具体排查和解决步骤

  1. 获取DockerHub构建用的SSH公钥
    登录DockerHub,进入你对应的镜像仓库,切换到「Builds」标签页,点击「Configure Automated Builds」,找到和BitBucket仓库关联的配置部分。如果是用SSH方式关联的,这里应该能看到对应的SSH公钥(或者可以直接重新生成一对新的密钥对)。

  2. 检查并更新BitBucket仓库的信任密钥
    登录BitBucket,进入目标仓库,点击左侧菜单的「Settings」,找到「Repository settings」下的「Deploy keys」(或者类似「Trusted keys」的选项):

    • 如果没有找到DockerHub对应的公钥:直接把刚才复制的公钥粘贴进去,权限选「Read only」就够了(毕竟DockerHub只需要拉取代码)
    • 如果已经存在对应的公钥:检查它是否被禁用,或者密钥的算法/长度是否符合BitBucket当前的要求(比如现在推荐用ED25519算法,或者RSA密钥至少2048位),如果不符合,就重新生成新的密钥对替换掉
  3. 验证修复效果
    完成上述操作后,手动触发一次DockerHub的自动构建,看看是否能正常拉取代码并完成镜像构建。

另外补充一句:你提到把代码改回旧版本也没用,这完全符合当前问题的特征——因为这根本不是代码内容的问题,而是拉取代码的权限认证失败,不管代码是什么样,只要密钥不对,肯定拉不下来。

备注:内容来源于stack exchange,提问作者Paul Taylor

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 12:04:30