展开导读
链接复制成功!
为什么登录指令执行失败?
登录指令执行失败有以下几种情况:
- 容器引擎未安装正确,报如下所示错误:
解决方法:重新安装容器引擎,安装方法请参见安装容器引擎。
- 由于容器镜像服务支持Docker容器引擎1.11.2(包含)到24.0.9(包含)版本上传镜像,建议下载对应版本。
- 安装容器引擎需要连接互联网,内网服务器需要绑定弹性公网IP后才能访问。
- 临时登录指令已过期或登录指令中区域项目名称、AK、登录密钥错误,报如下所示错误:
“unauthorized: authentication required”
解决方法:登录容器镜像服务控制台,在左侧菜单栏选择“我的镜像”,单击右侧“客户端上传”在弹出的页面单击”生成登录指令”。
- 获取临时的登录指令:默认进入“临时登录指令”页签,单击
复制登录指令。
- 获取长期有效的登录指令:切换到“长期有效登录指令”页签进行获取,具体方法请参见获取长期有效登录指令。
- 获取临时的登录指令:默认进入“临时登录指令”页签,单击
- 登录指令中镜像仓库地址错误,报如下所示错误:
“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”
解决方法:
- 修改登录指令中的镜像仓库地址。
镜像仓库地址格式 : swr.区域项目名称.myhuaweicloud.com,如“华北-北京四”对应的镜像仓库地址为swr.cn-north-4.myhuaweicloud.com。
- 获取临时的登录指令:方法请参见2。
- 修改登录指令中的镜像仓库地址。
- x509: certificate has expired or is not yet valid
长期有效登录指令中AK/SK被删除导致,请使用有效的AK/SK生成登录指令。
- 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重启容器引擎。
- CentOS:
- denied: Authenticate Error
用户无编程访问权限,需要使用管理员账号登录IAM服务,单击用户名称进入用户详情页面,单击访问方式参数后面的
按钮,修改访问方式同时勾选编程访问和管理控制台访问。关于IAM服务如果想了解更多请参见IAM产品介绍。
- denied: Not allow to login、upload or download image
用户大批量并发上传镜像或者攻击服务,系统把用户拉黑,用户无法登录和上传下载镜像。请在30分钟之后重新尝试或通过提工单的形式,由运维工程师进行处理。