无法推送到Docker Hub - 标签不存在。

7

我已经尝试了一段时间,却没有任何进展。

Build Rules

"latest"标签可以正常构建,但是“dev”标签(或者其他我尝试过的标签)无法构建:

正在移除中间容器df365d3a022f ---> dd24ff34c9e9 构建成功dd34ff34c9e9 标记成功myrepo/app:latest 正在推送index.docker.io/myrepo/app:dev... 推送失败。60秒后重试。 推送失败。60秒后重试。 推送失败。60秒后重试。 推送失败。60秒后重试。 推送失败。{u'message': u'tag does not exist: myrepo/app:dev'}

当我本地构建时,我可以将同一个标签推送到Docker Hub:

docker push docker.io/nomadcalendar/app:dev 推送到仓库[docker.io/myrepo/app] a69634ab3c0f: 准备中 0daa743ba1bd: 准备中 ... 030309cad3ba: 层已存在 dev: 摘要:sha256:9a828hgh5ccabd3364666cb20774f53dc1b5e1563329f8fd801edcae4b50f30 大小:16805

即使在Docker Hub中看到本地构建并推送的标签,我仍然无法在Docker Hub自动构建中使用该标签。

有什么建议吗?


问题出在日志中:看起来它正在标记一个“myrepo/app:latest”,然后尝试推送“myrepo/app:dev”,但是本地不存在此标记(构建创建了一个最新版本),这不是DockerHub上标记存在的问题。我不知道自动化构建是否能够很好地处理为同一源构建不同标记的情况。 - zigarn
看起来是Docker Hub的一个bug,他们的支持团队已经沉默了几个星期,这还考虑到我有高级计划... - user3521621
2个回答

2
在我的情况下,问题与通过项目根目录中的“hooks”文件夹启用的构建钩子有关。删除钩子可以解决该问题。

1
似乎在尝试从同一触发器构建两个不同的标记时出现了问题。在这种情况下,dev和latest都配置为基于master构建,并且构建命令创建一个标记,但尝试推送另一个标记。目前,您需要仅为主分支推送单个标记,而不是针对不同标记的两个规则。
在github中,我建议关注并添加反馈hub-feedback issue 1828,该问题看起来与您的问题类似。

谢谢您的回答。不幸的是,即使作为单个标签,它也没有起作用。仍在寻找解决方案,但支持人员没有回应。 - user3521621

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接