容器镜像服务 SWR-为什么通过页面上传镜像失败?:镜像格式不合法或鉴权失败
镜像格式不合法或鉴权失败
问题现象:通过页面上传镜像,出现“镜像格式不合法”或“鉴权失败”的报错。
问题原因:镜像地址不规范,导致上传失败。
镜像地址各个部分的含义如下,最后的tag(版本号)可省略,如果省略则表示latest版本,其余部分均不可省略,且不可多余。
样例:swr.cn-north-4.myhuaweicloud.com/repo_namespace/repo_name:tag
- swr.cn-north-4.myhuaweicloud.com为 容器镜像服务 的镜像仓库地址。
- repo_namespace为组织名称,命名正则表达式为^([a-z]+(?:(?:(?:_|__|[-]*)[a-z0-9]+)+)?)$,长度范围为:1-64。
- repo_name:tag为镜像名称和版本号,镜像命名正则表达式为^([a-z0-9]+(?:(?:(?:_|__|[-]*)[a-z0-9]+)+)?)$,长度范围为:1-128。
您可以将镜像解压,打开文件manifest.json文件查看RepoTags字段的值是否符合上述规范。
解决方法:按照命名规范,重新给镜像打tag,然后使用docker save命令保存镜像,然后再使用页面上传。
SWR判定镜像名是否合法不是以用户在界面上传镜像时的文件名为依据,而是依据镜像包中的repositories和manifest.json文件。