更新时间:2022-12-30 GMT+08:00

为什么通过页面上传镜像失败?

SWR对镜像的命名和地址有严格的规范。如果镜像的命名不规范或镜像地址不规范都会导致镜像上传失败。

镜像格式不合法

问题现象:通过页面上传镜像,出现“镜像格式不合法”的报错。

问题原因:镜像地址不规范,导致上传失败。

镜像地址各个部分的含义如下,最后的tag(版本号)可省略,如果省略则表示latest版本,其余部分均不可省略,且不可多余。

样例:registry.example.com/repo_namespace/repo_name:tag

  • registry.example.com为容器镜像服务的镜像仓库地址,此处为示例,以实际地址为准。
  • repo_namespace为组织名称,命名正则表达式为^([a-z]+(?:(?:(?:_|__|[-]*)[a-z0-9]+)+)?)$,长度范围为:1-64。
  • repo_name:tag为镜像名称和版本号,镜像命名正则表达式为^([a-z0-9]+(?:(?:(?:_|__|[-]*)[a-z0-9]+)+)?)$,长度范围为:1-128。

您可以将镜像解压,打开文件manifest.json文件查看RepoTags字段的值是否符合上述规范。

图1 解压后的文件

解决方法:按照命名规范,重新给镜像打tag,然后使用docker save命令保存镜像,然后再使用页面上传。

一直卡在上传界面直到超时

问题现象:通过页面上传镜像,一直卡在上传界面直到超时。

问题原因:镜像命名不规范,导致上传失败。

解决方法:您可以按照镜像命名规范修改镜像名称后,重新上传镜像。

SWR判定镜像名是否合法不是以用户在界面上传镜像时的文件名为依据,而是依据镜像包中的repositories和manifest.json文件。