文档首页/ 容器镜像服务 SWR/ 常见问题/ 故障类/ 为什么登录指令执行失败?
更新时间:2024-11-04 GMT+08:00
分享

为什么登录指令执行失败?

登录指令执行失败有以下几种情况:

  1. 容器引擎未安装正确,报如下所示错误:

    “docker: command not found”

    解决方法:重新安装容器引擎,安装方法请参见安装容器引擎

    • 由于容器镜像服务支持Docker容器引擎1.11.2(包含)到24.0.9(包含)版本上传镜像,建议下载对应版本。
    • 安装容器引擎需要连接互联网,内网服务器需要绑定弹性公网IP后才能访问。
  1. 临时登录指令已过期或登录指令中区域项目名称、AK、登录密钥错误,报如下所示错误:

    “unauthorized: authentication required”

    解决方法:登录容器镜像服务控制台,在左侧菜单栏选择“我的镜像”,单击右侧“客户端上传”获取登录指令。

    1. 获取临时的登录指令:单击“生成临时登录指令”,在弹出的页面中单击复制登录指令。
    2. 获取长期有效的登录指令:单击“如何获取长期有效登录指令”,具体方法请参见获取长期有效登录指令
  2. 登录指令中镜像仓库地址错误,报如下所示错误:

    “Error llgging in to v2 endpoint, trying next endpoint: Get https://{{endpoint}}/v2/: dial tcp: lookup {{endpoint}} on xxx.xxx.xxx.xxx:53 : no such host”

    解决方法:

    1. 修改登录指令中的镜像仓库地址。

      镜像仓库地址格式 : swr.区域项目名称.myhuaweicloud.com,如“华北-北京四”对应的镜像仓库地址为swr.cn-north-4.myhuaweicloud.com。

    2. 获取临时的登录指令:方法请参见2
  3. x509: certificate has expired or is not yet valid

    长期有效登录指令中AK/SK被删除导致,请使用有效的AK/SK生成登录指令。

  4. x509: certificate signed by unknown authority

    问题原因:

    容器引擎客户端和SWR之间使用HTTPS的方式进行通信,客户端会对服务端的证书进行校验。如果服务端证书不是权威机构颁发的,则会报如下错误:x509: certificate signed by unknown authority

    解决方法:

    如果用户信赖服务端,跳过证书认证,那么可以手动配置Docker的启动参数,配置方法如下:

    • CentOS:

      修改“/etc/docker/daemon.json”文件(如果没有,可以手动创建),在该文件内添加如下内容:

      {
        "insecure-registries": ["{镜像仓库地址}"]
      }
    • Ubuntu:

      修改“/etc/default/docker”文件,在DOCKER_OPTS配置项中增加如下内容:

      DOCKER_OPTS="--insecure-registry {镜像仓库地址}"
    • EulerOS:

      修改“/etc/sysconfig/docker”文件,在INSECURE_REGISTRY配置项中增加如下内容:

      INSECURE_REGISTRY='--insecure-registry {镜像仓库地址}'

    镜像仓库地址支持域名和IP形式。

    • 域名:swr.区域项目名称.myhuaweicloud.com。例如“华北-北京四”的镜像仓库地址为:swr.cn-north-4.myhuaweicloud.com。
    • IP:可通过ping镜像仓库地址(域名形式)获取。

    配置完成后,执行systemctl restart docker重启容器引擎。

  5. denied: Authenticate Error

    用户无编程访问权限,需要使用管理员账号登录IAM,修改用户访问方式。

  6. denied: Not allow to login、upload or download image

    用户大批量并发上传镜像或者攻击服务,系统把用户拉黑,用户无法登录和上传下载镜像。请在30分钟之后重新尝试或通过提工单的形式,由运维工程师进行处理。

相关文档