Docker学习(二十四)报错速查手册

news/2024/11/8 18:30:04/

目录

    • 一、This error may indicate that the docker daemon is not running 报错
      • docker login 报错截图:
        • 原因分析:
        • 解决方案:
    • 二、Get "https://harbor.xxx.cn/v2/": EOF 报错
      • docker login 报错截图:
        • 原因分析:
        • 解决方案:
    • 三、500 Internal Server Error 报错
      • docker login 报错截图:
        • 原因分析:
        • 解决方案:
    • 四、invalid character '<' looking for beginning of value 报错
      • docker login 报错截图:
        • 原因分析:
        • 解决方案:
      • docker login 成功,但是 docker pull 报错截图:
        • 原因分析:
        • 解决方案:
    • 五、总结:万能解决方案

在解决问题前,要先树立两个思想:

  1. 无论是 docker login 命令还是 docker pull 命令,无非就是发送请求去 harbor 服务器获取数据。那么报错无非就是 网络问题 或者 接收的内容解析报错
  2. docker harbor 的 ui 页面和 docker logindocker pull 中的地址最终映射的是同一台机器的同一个端口。

一、This error may indicate that the docker daemon is not running 报错

docker login 报错截图:

在这里插入图片描述

完整报错信息:

error during connect: This error may indicate that the docker daemon is not running.: Post "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/auth": open //./pipe/docker_engine: The system cannot find the file specified.

原因分析:

提示已经非常明显了,本地 docker 服务没有启动,或者启动失败。

解决方案:

启动本地 docker 服务。


二、Get “https://harbor.xxx.cn/v2/”: EOF 报错

docker login 报错截图:

在这里插入图片描述

原因分析:

这是因为无法解析 harbor 域名,或者解析后的 ip 和端口网络不通。可能是 harbor 地址写错了,需要重新核对一下域名和端口,比如我这里就是因为域名写错了,当前域名无法解析。

在这里插入图片描述

可以用 ping 域名 的方式判断是否可以解析域名,用 telnet ip 端口 判断网络是否开通。

解决方案:

harbor 地址修改为正确的域名和端口即可:

在这里插入图片描述

如果遇到了 500 Internal Server Error,参考下面的解决方案。


三、500 Internal Server Error 报错

docker login 报错截图:

在这里插入图片描述

原因分析:

我这里导致这个问题是nginx代理配置的问题,在我本地机器之间还多了一层 Nginx 进行转发,将 harbor.xxx.cn 域名转发到了 192.168.1.134:8080 下。

具体为什么中间经过一层 Nginx 转发之后就会报 500 Internal Server Error 问题,我这边还没有定位到。

解决方案:

修改本地 hosts,增加 192.168.1.134 harbor.xxx.cn 配置,直接解析到 Harbor 仓库所在服务器 ip。

在这里插入图片描述


四、invalid character ‘<’ looking for beginning of value 报错

出现这个问题有两种情况,一种是 docker login 的时候报这个错,一种是 docker login 不报错,但是 docker pull 报这个错。

我们先说第一种情况:

docker login 报错截图:

在这里插入图片描述

原因分析:

如果是 docker login 的时候就报错,是因为域名和端口错误导致的,比如我这里就是因为漏加了端口。那么细心的同学可能就会发现,为什么同样是域名和端口错误,为什么有的时候报 Get "https://harbor.xxx.cn/v2/": EOF 有的时候报 invalid character '<' looking for beginning of value 呢?

  • Get "https://harbor.xxx.cn/v2/": EOF:出现这类问题,说明域名无法解析,或者域名解析后的 ip 和端口网络不通。
  • invalid character '<' looking for beginning of value :出现这类问题,说明当前机器和目标地址的网络是通的,但是目标域名解析后ip对应服务器的 8080 端口是一个 html 页面,所以报了一个 < 开头无效字符的错。

解决方案:

将域名和端口修改正确后,如果继续报错 500 Internal Server Error,可以参考上面第二章通过配置 hosts 的解决方案。我这里增加端口后就可以正常登录了:

在这里插入图片描述

如果将域名和端口修改正确后,可以正常登录了,但是拉取失败,可以参考下面的内容。

docker login 成功,但是 docker pull 报错截图:

在这里插入图片描述

原因分析:

出现这类问题,如果确定地址没有写错的话,就是域名解析有问题了。虽然提示 Login Succeeded,但是实际并没有登录成功,可以填一个错误的账号密码试下,还是会成功的。

在这里插入图片描述

报错 invalid character '<' looking for beginning of value 说明网络是通的,但是目标域名解析后ip对应服务器的 8080 端口是一个 html 页面,所以报了一个 < 开头无效字符的错。

解决方案:

在本地配置 hosts,将域名和实际 ip 重新配置后,就可以正常拉取了。

配置格式:ip 域名

在这里插入图片描述


五、总结:万能解决方案

  1. docker -v 检查 docker 服务是否启动;

  2. ping 域名 检查域名是否可以正常解析;

  3. telnet ip 端口 检查网络是否通;

  4. 在 hosts 中追加配置 ip 域名;(不管第2步域名是否可以成功解析到都要配置看看)

    如果是 Linux 端,检查完以上 4 步基本就可以解决问题了。

  5. 如果使用的是 Windows 端的 Docker Desktop,则需要检查下设置中的 Docker Engine,需要给仓库地址设置 insecure-registries 白名单。

    例如:仓库 ip 地址:192.168.1.66:8080,仓库域名地址:harbor.acgkaka.cn:8080,则 Docker Engine 配置如下:registry-mirrors 为扩展镜像仓库,用于快速拉取镜像,选配)

    {"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"features": {"buildkit": true},"insecure-registries": ["192.168.1.66:8080","harbor.acgkaka.cn:8080"],"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com","https://registry.docker-cn.com"]
    }
    

整理完毕,完结撒花~ 🌻


http://www.ppmy.cn/news/1007876.html

相关文章

基于 yolov8 的人体姿态评估

写在前面 工作中遇到&#xff0c;简单整理博文内容为使用预训练模型的一个预测 Demo测试图片来源与网络,如有侵权请告知理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&#xff0c;永不停…

NLP实践——使用Llama-2进行中文对话

NLP实践——使用Llama-2进行中文对话 1. 前言2. 利用prompt3. 利用Logit Processor3.1 修改13.2 修改23.3 修改33.4 修改4 1. 前言 在之前的博客 NLP实践——Llama-2 多轮对话prompt构建中&#xff0c;介绍了如何构建多轮对话的prompt&#xff0c;本文将介绍如何使用Llama-2进…

8.5day06 框架基础--反射+注解

文章目录 反射获取类的各种信息获取类的字节码文件 注解元注解 复习redis两道算法题 摆烂了&#xff0c;不想学啦&#xff01;&#xff01;&#xff01; 反射 反射主要用来做框架; 学习内容 获取类的各种信息 第一步 加载类&#xff0c;获取类的字节码文件 第二步 获取类的…

uni-app:实现列表单选功能

效果图&#xff1a; 核心解析&#xff1a; 一、 <view class"item_all" v-for"(item, index) in info" :key"index"><view classposition parameter-info text-over :classitem.checked?"checked_parameter":""…

在线课堂,视频点播,springboo+vue

springbootvue三端&#xff08;管理后台&#xff0c;教师端&#xff0c;用户端&#xff09;端可提供源码&#xff0c;可远程安装&#xff0c;需要的加微信&#xff1a; 体验地址&#xff1a;http://edu.dgrxs.com/ 用户端&#xff1a; 管理端&#xff1a; 教师端&#xff1a;

23款奔驰GLE450加装迈巴赫GLS600同款电动踏板,家人上下车更方便

新款奔驰GLE级车型原厂都没有电动踏板&#xff0c;都是固定踏板&#xff0c;或者没有踏板。这次安装的迈巴赫款式电动踏板是副厂的&#xff0c;虽然是副厂&#xff0c;但是脚下面积大&#xff0c;外观整洁大气&#xff0c;非常适合GLE。

SpringCloud深度学习(在更)

微服务简介 微服务是什么&#xff1f; 微服务是一种架构风格&#xff0c;将一个大型应用程序拆分为一组小型、自治的服务。每个服务都运行在自己独立的进程中&#xff0c;使用轻量级的通信机制&#xff08;通常是HTTP或消息队列&#xff09;进行相互之间的通信。这种方式使得…

linux监控java进程的cpu和线程快照脚本

java进程的cpu和线程快照一般都会接入监控平台进行监控和查看&#xff0c;也可以通过命令在服务器查看&#xff1a;top -b -n 1 -Hp pid > 1.top && jstack pid > 1.stack&#xff0c;当然也可以通过shell脚本的方式将cpu和jstack指标记录输出到文件。 #每隔5秒…