更新时间:2022-04-28 GMT+08:00
分享

登录失败

问题现象一

情况一:执行“推送/拉取SWR镜像”部署步骤时登录失败,显示“authenticationrequired”,如下图所示:

情况二:执行“推送/拉取SWR镜像”部署步骤时登录失败,显示“request canceled while waiting for connection(Client.Timeout exceeded while awaiting headers)”,如下图所示:

原因分析一

机器没有外网权限,或未配置代理,导致连接SWR镜像仓失败。

处理方法一

为机器配置可连通SWR镜像仓的代理。

问题现象二

执行“推送/拉取SWR镜像”部署步骤时,显示“certificate signed by unknown authority”,如下图所示:

原因分析

镜像仓库如果未配置证书,同时部署目标主机未对仓库配置添加信任,会导致登录失败。

处理方法

  • 请先排除网络连接及用户权限问题。
  • 因添加信任配置需要重启docker,重启操作会导致运行中的容器停止服务,因此建议提前配置需要用到的镜像仓地址。

若当前机器中无正在运行容器,或容器中断运行不影响对外提供服务,可按如下步骤进行配置:

  1. 1.查看“/etc/docker/daemon.json”文件是否存在。

    1. 若不存在,请创建该文件,并添加如下配置:
      { 
         "live-restore": true 
       }
    2. 若存在,请按如图格式添加该配置:

    • 配置“live-restore”参数请参考官网:https://docs.docker.com/config/containers/live-restore/
    • 使用该参数可以避免引擎升级、重启导致容器停止服务的情况,需要注意的是,live-restore 和 Swarm Mode 不兼容,所以在集群环境中不可使用。

  1. 添加信任。

    1. 在“/etc/docker/daemon.json”文件中,按如下格式配置仓库地址:
       { 
         "insecure-registries" : ["10.10.**.**","10.10.**.**:8080"],
         "live-restore": true 
       }
    2. 示例如图:

  2. 使以上配置生效。

    1. 当前系统若使用“systemd ”使用如下命令加载该配置:
      systemctl reload docker
    2. 若因版本问题无法使用“systemd” ,请使用如下命令重启docker服务:
      service docker restart

分享:

推送/拉取SWR镜像所有常见问题

more

close