login命令部署失败
问题现象一
部署“执行Docker命令”步骤中的login命令时,显示“unauthorized: authentication required”。
原因分析
用户名密码错误,导致认证失败。
处理方法
确认输入正确的用户名密码。
问题现象二
部署“执行Docker命令”步骤中的login命令时,显示没有权限。
原因分析
Docker服务仅支持root用户或Docker组用户。
处理方法
将当前用户加入 Docker 组。
加入Docker组请参考当前用户没有部署权限。
问题现象三
部署“执行Docker命令”步骤中的login命令时,显示“request canceled while waiting for connection(Client.Timeout exceeded while awaiting headers)”。
原因分析
1.镜像仓地址错误,导致无法连通,Docker验证v2接口失败。
2.机器没有外网权限,或没配置代理,导致连接远程镜像仓超时。
处理方法
1.重新确认镜像仓地址,保证镜像仓地址正确及可连通性。
2.为机器配置可连通镜像仓的代理。
问题现象四
部署“执行Docker命令”步骤中的login命令时,显示“certificate signed by unknown authority”,并且提示“Task failed may be associated with not configured trust”。
原因分析
镜像仓库如果未配置证书,同时部署目标主机未对仓库配置添加信任,会导致登录失败。
处理方法
- 请先确认镜像仓地址以及用户名、密码正确,并排除网络连接及用户权限问题。
- 因添加信任配置需要重启Docker,重启操作会导致运行中的容器停止服务,因此建议提前配置需要用到的镜像仓地址,分两种情况处理。
情况一
- 在部署步骤详情中,“命令”选择为“login”,“重启Docker服务”勾选“重启”。
- 若需要重启容器,新添加“执行Docker命令”步骤,在部署步骤详情中,“命令”选择为“restart”。
- 单击“保存并部署”。
情况二
- 查看“/etc/docker/daemon.json”文件是否存在。
- 若不存在,请创建该文件,并添加如下配置:
{ "live-restore": true }
- 若存在,请按如图格式添加该配置:
- 配置“live-restore”参数请参考官网:https://docs.docker.com/config/containers/live-restore/。
- 使用该参数可以避免引擎升级、重启导致容器停止服务的情况,需要注意的是,live-restore和Swarm Mode不兼容,所以在集群环境中不可使用。
- 若不存在,请创建该文件,并添加如下配置:
- 添加信任。
- 在“/etc/docker/daemon.json”文件中,按如下格式配置仓库地址:
{ "insecure-registries" : ["10.10.**.**","10.10.**.**:8080"], "live-restore": true }
- 在“/etc/docker/daemon.json”文件中,按如下格式配置仓库地址:
- 使以上配置生效。
- 当前系统若使用“systemd”,使用如下命令加载该配置:
systemctl reload docker
- 若因版本问题无法使用“systemd” ,请使用如下命令重启Docker服务(该操作会导致容器停止服务),添加执行“重启容器”步骤;
service docker restart
- 当前系统若使用“systemd”,使用如下命令加载该配置: