
# 为什么登录指令执行失败？
登录指令执行失败有以下几种情况：
1. 容器引擎未安装正确，报如下所示错误： "docker: command not found"
   **解决方法：** 重新安装容器引擎，安装方法请参见[安装容器引擎](https://support.huaweicloud.com/usermanual-swr/swr_01_0006.html)。
   - 由于容器镜像服务支持18.06及以上版本的Docker容器引擎上传镜像，建议下载对应版本。
   
   - 安装容器引擎需要连接互联网，内网服务器需要绑定弹性公网IP后才能访问。
    

2. 临时登录指令已过期或登录指令中区域项目名称、AK、登录密钥错误，报如下所示错误： "unauthorized: authentication required"
   **解决方法：** 登录[SWR控制台](https://console.huaweicloud.com/swr/#/swr/dashboard)，在左侧菜单栏选择"我的镜像"，单击右侧"客户端上传"在弹出的页面单击"生成登录指令"。
   1. 获取临时的登录指令：默认进入"临时登录指令"页签，单击![](https://support.huaweicloud.com/swr_faq/zh-cn_image_0000001142249942.png)复制登录指令。
   
   2. 获取长期有效的登录指令：切换到"长期有效登录指令"页签进行获取，具体方法请参见[获取长期有效登录指令](https://support.huaweicloud.com/usermanual-swr/swr_01_1000.html)。
    
3. 登录指令中镜像仓库地址错误，报如下所示错误： "Error logging 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]。
    
4. **login attempt to http://swr.cn-north-4.myhuaweicloud.com/v2/ failed with status: 404 Not Found**
   长期有效登录指令中AK/SK被删除或禁用导致，请使用有效的AK/SK生成登录指令。
   
5. **x509: certificate signed by unknown authority**
   **问题原因：**
   容器引擎客户端和SWR之间使用HTTPS的方式进行通信，客户端会对服务端的证书进行校验。如果服务端证书不是权威机构颁发的，则会报如下错误：x509: certificate signed by unknown authority
   ![](https://support.huaweicloud.com/swr_faq/zh-cn_image_0000001142090148.png "点击放大")
   **解决方法：**
   如果用户信赖服务端，跳过证书认证，那么可以手动配置Docker的启动参数，配置方法如下：
   - CentOS： 修改"/etc/docker/daemon.json"文件（如果没有，可以手动创建），在该文件内添加如下内容：
     ```
     # 特别注意，docker新版本【29及以上】features这个配置必须添加，其他可忽略；29版本增加这个配置以后，containerd引擎拉取的镜像不会展示在docker images里。
     {
       "insecure-registries": ["{镜像仓库地址}"],
       "features": { "containerd-snapshotter": false }
     }
     ```
     
   
   - Ubuntu： 修改"/etc/default/docker"文件，在DOCKER_OPTS配置项中增加如下内容：
     ```
     DOCKER_OPTS="--insecure-registry {镜像仓库地址}"
     ```
     
   
   - EulerOS： 修改"/etc/sysconfig/docker"文件，在INSECURE_REGISTRY配置项中增加如下内容：
     ```
     INSECURE_REGISTRY='--insecure-registry {镜像仓库地址}'
     ```
     
   
   
   ![](https://support.huaweicloud.com/swr_faq/public_sys-resources/note_3.0-zh-cn.png)
   镜像仓库地址支持域名和IP形式。
   - 域名：swr.区域项目名称.myhuaweicloud.com。例如"华北-北京四"的镜像仓库地址为：swr.cn-north-4.myhuaweicloud.com。
   
   - IP：可通过ping镜像仓库地址（域名形式）获取。
    
   配置完成后，执行**systemctl daemon-reload \&\& systemctl restart docker**重启容器引擎。
   
6. **denied: Authenticate Error**
   用户无编程访问权限，需要使用管理员账号登录IAM服务[IAM服务](https://console.huaweicloud.com/iam?locale=zh-cn)，单击用户名称进入用户详情页面，单击访问方式参数后面的![](https://support.huaweicloud.com/swr_faq/zh-cn_image_0000002226345601.png)按钮，修改访问方式同时勾选编程访问和管理控制台访问。关于IAM服务如果想了解更多请参见[IAM产品介绍](https://support.huaweicloud.com/productdesc-iam/iam_01_0010.html)。
   ![](https://support.huaweicloud.com/swr_faq/zh-cn_image_0000002226380469.png "点击放大")
   
7. **denied:** **Not allow to login、upload or download image**
   用户大批量并发上传镜像或者攻击服务，系统把用户拉黑，用户无法登录和上传下载镜像。请在30分钟之后重新尝试或通过提工单的形式，由运维工程师进行处理。
   
 
