Docker Image推送到Google容器注册表不起作用

时间:2019-08-10 16:25:51

标签: docker containers registry push

当我将图像从詹金斯推送到gcr时,会发生以下错误: 拒绝:无法编写blob sha256

即使我将注册表设置为公开,也不可能。发生相同的错误

3 个答案:

答案 0 :(得分:1)

我一直面临着同样的问题,最终通过使用控制台UI移除有问题的Docker映像层来解决了这个问题:https://console.cloud.google.com/storage/browser/artifacts .. appspot.com/containers/images /

错误消息如下:

denied: Unable to write blob sha256:050eee1aec04cc914bf96e8f4dee7767510c2aca3816af6078ba6fbe3150920e

工件存储桶中的文件名将与blob名称完全匹配:sha256:050eee1aec04cc914bf96e8f4dee7767510c2aca3816af6078ba6fbe3150920e

删除它,然后重试。希望对您有帮助!

答案 1 :(得分:0)

使用以下命令推送到Google容器注册表。

 nc_buff <- nc %>%
  mutate(buf_wdt = ifelse(.$grp == 0, 4000, 8000)) %>% 
  st_buffer(., .$buf_wdt) %>% 
  select(-buf_wdt)  

“ google_crd_file”是存储在Jenkins中的凭据的ID。

答案 2 :(得分:0)

我的问题听起来也一样。首先,我设法通过手动删除有冲突的图像,使用上述@ michael-bouvy的solutikon进行了临时修复。

我要永久解决该问题,是在GC IAM中将权限添加到执行推送的身份的相应自定义角色中。即,除了现有的:

storage.buckets.get
storage.objects.create
storage.objects.get
storage.objects.list

我又追加了两个:

storage.objects.delete
storage.objects.update

基本上,这些权限看起来像临时手动操作所需的权限。