/ 容器镜像服务 swr/ / / 为什么使用客户端上传镜像失败?
更新时间:2025-03-03 gmt 08:00

为什么使用客户端上传镜像失败?-九游平台

denied: you do not have the permission

问题现象:使用客户端上传镜像,报如下所示错误:

“denied: you do not have the permission”

问题原因

  • 该组织名已被其他用户注册或当前swr组织数量已超过配额。
  • docker login命令使用iam用户的ak、sk生成,没有对应组织的权限。

解决方法

  • 该组织名已被其他用户注册时:建议您先创建组织然后再上传镜像,创建组织的方法请参见创建组织
  • swr组织数量超过配额时:单个用户的组织数量限制为5个,您可以将镜像上传到已存在的组织下,也可以申请增加配额。
  • 没有对应组织的权限可通过以下两种方法进行授权:

    方法一: 本地授权:使用具有swr管理员权限的用户在组织管理页面授予要上传镜像的用户目标组织的管理权限。授权操作请参见授权管理

    方法二: 使用iam细粒度授权,为用户授予自定义的权限策略,包含镜像推送的权限,具体操作如下:
    1. 登录。
    2. 在页面上方选择“区域”后,单击页面左上方的,选择“管理与监管 > 统一身份认证服务 iam”。
    3. 选择左侧导航树的“权限管理 > 权限”,单击右上角的“创建自定义策略”填写策略参数。策略名称自定义,策略配置方式选择“json视图”。填写策略内容如下(请将namespace1替换为您要上传镜像所到的组织),配置完成后单击“确定”。
      {
          "version": "1.1",
          "statement": [
              {
                  "effect": "allow",
                  "action": [
                      "swr:repo:upload"
                  ],
                  "resource": [
                      "swr:*:*:repo:namespace1/*" 
                  ]
              },
          ]
      }
    1. 选择左侧导航树的“用户组”,单击您的用户所在的用户组名称进入用户组详情页面,单击”授权”,将3创建的权限添加给用户所在的用户组即可。
    2. 稍等1分钟待权限生效后进行重新上传。

denied: image organization does not exist, you should create it first

问题现象:使用客户端上传镜像,报如下所示错误:

“denied: image organization does not exist, you should create it first”

问题原因:docker push命令中的组织名称不存在。

解决方法:请先创建组织,再重新上传。

tag does not exist: xxxxxx或an image does not exist locally with the tag: xxxxxx

问题现象:使用客户端上传镜像,报如下所示错误:

“tag does not exist: xxxxxx”

“an image does not exist locally with the tag: xxxxxx”

问题原因:上传的镜像或镜像版本不存在。

解决方法:通过docker images查看本地镜像,确认要上传的镜像名称及版本后,重新上传镜像。

name invalid: 'repository' is invalid

问题现象:使用客户端上传镜像,报如下所示错误:

“name invalid: 'repository' is invalid”

问题原因:组织命名或镜像命名不规范。

解决方法:以下分别是组织名(namespace)和仓库名(repository)的命名正则表达式:

namespace:^([a-z] (?:(?:(?:_|__|[-]*)[a-z0-9] ) )?)$,长度范围为:1-64;

repository:^([a-z0-9] (?:(?:(?:_|__|[-]*)[a-z0-9] ) )?)$,长度范围为:1-128。

您可以按照上述命名规范,重新指定上传的组织和镜像名称。

偶现推送镜像超时

问题现象:偶现推送镜像超时

问题原因:您在国内机器往国外推镜像,网速慢,偶现连接失败。

errordetail":{"message":"error parsing http 404 response body: no error details found in http response body

问题现象:使用客户端上传镜像,报如下所示错误:

{"errordetail":{"message":"error parsing http 404 response body: no error details found in http response body: "{\"code\":404,\"message\":\"not found\"}""},"error":"error parsing http 404 response body: no error detail s found in http response body: "

问题原因:连接不上镜像仓库,网络不通。

解决办法:请检查网络后重试。

  • 内网访问

    当您使用的安装容器引擎的客户端为云上的ecs或cce节点,且机器与容器镜像仓库在同一区域时,上传下载镜像走内网链路。您无需进行任何访问配置,直接访问swr即可。

  • 公网访问

    该场景下安装容器引擎的机器为云上的ecs或cce节点,机器与容器镜像仓库不在同一区域,上传下载镜像走公网链路,机器需要绑定弹性公网ip。详细配置方法请参考。

  • vpn/云专线访问

    这种情况下可以使用云专线或vpn连接华为云vpc,通过专线/vpn打通用户本地数据中心到vpc间的网络,使用vpc终端节点访问swr。详细配置方法请参考。

不允许用户上传镜像

问题现象:使用客户端上传镜像,报如下所示错误:

“not allow to login、upload or download image”

问题原因:用户大批量并发上传镜像或者攻击服务,系统把用户拉黑,用户无法登录和上传下载镜像。

解决方法
  • 请在30分钟之后重新尝试。
  • 通过提工单的形式,由运维工程师进行处理。

相关文档

网站地图