Docker学习(二十四)报错速查手册
目录
- 一、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 报错截图:
- 原因分析:
- 解决方案:
- 五、总结:万能解决方案
在解决问题前,要先树立两个思想:
- 无论是
docker login命令还是docker pull命令,无非就是发送请求去harbor服务器获取数据。那么报错无非就是 网络问题 或者 接收的内容解析报错。docker harbor的 ui 页面和docker login、docker 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 域名。

五、总结:万能解决方案
-
docker -v检查 docker 服务是否启动; -
ping 域名检查域名是否可以正常解析; -
telnet ip 端口检查网络是否通; -
在 hosts 中追加配置
ip 域名;(不管第2步域名是否可以成功解析到都要配置看看)如果是 Linux 端,检查完以上 4 步基本就可以解决问题了。
-
如果使用的是 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"] }
整理完毕,完结撒花~ 🌻
相关文章:
Docker学习(二十四)报错速查手册
目录 一、This error may indicate that the docker daemon is not running 报错docker login 报错截图:原因分析:解决方案: 二、Get "https://harbor.xxx.cn/v2/": EOF 报错docker login 报错截图:原因分析:…...
一种SpringBoot下Scheduler定时任务优雅退出方案
背景 近期业务中有一个定时任务发现每次服务部署时,偶发性的会触发问题,这里记录一下问题的跟进解决。 分析现象 该定时任务每2分钟执行一次,完成数据的更新处理。同时服务部署了多个服务器节点,为保证每次只有一个服务器节点上…...
DNS部署与安全详解(上)
文章目录 一、DNS二、域名组成1. 域名组成概述2. 域名组成 三、监听端口四、DNS解析种类1. 按照查询方式分类:2. 按照查询内容分类: 五、DNS服务器搭建过程1. 先确保服务器的IP地址是固定的2. 安装DNS软件 一、DNS DNS全称Domain Name Service࿰…...
【51单片机】晨启科技,酷黑版,音乐播放器
四、音乐播放器 任务要求: 设计制作一个简易音乐播放器(通过手柄板上的蜂鸣器发声,播放2到4首音乐),同时LED模块闪烁,给人视、听觉美的感受。 评分细则: 按下播放按键A6开始播放音乐࿰…...
基于SPSSPRO实现层次分析法(AHP)
层次分析法,简称AHP,是指将与决策总是有关的元素分解成目标、准则、方案等层次,在此基础之上进行定性和定量分析的决策方法。(摘自百度百科) 层次分析法有着广泛使用,涉及到的平台也多种多样,今…...
Spring Test中使用MockMvc进行上传文件单元测试时,报NullPointerException
问题: MockMvc peform在集成测试中返回nullPointerException 原因: springboot-2.x版本以上,当你添加依赖spring_boot_starter_test后,可以在内部看到自带了jupiter测试核心模块,也就是 junit5,junit5&am…...
HTTP常用状态码及其含义
HTTP常用状态码及其含义 1XX:信息,服务器收到请求,需要请求者继续执行操 状态码状态码英文名称中文描述100Continue继续。客户端应继续其请求101Switching Protocols切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议&…...
FFmpeg中AVIOContext的使用
通过FFmpeg对视频进行编解码时,如果输入文件存在本机或通过USB摄像头、笔记本内置摄像头获取数据时,可通过avformat_open_input接口中的第二个参数直接指定即可。但如果待处理的视频数据存在于内存块中时,该如何指定,可通过FFmpeg…...
【react】react中BrowserRouter和HashRouter的区别:
文章目录 1.底层原理不一样:2.path衣现形式不一样3.刷新后对路山state参数的影响4.备注: HashRouter可以用于解决一些路径错误相关的问题 1.底层原理不一样: BrowserRouter使用的是H5的history API,不兼容IE9及以下版不。 HashRouter使用的是URL的哈希值。 2.path衣…...
机器学习常用Python库安装
机器学习常用Python库安装 作者日期版本说明Dog Tao2022.06.16V1.0开始建立文档 文章目录 机器学习常用Python库安装Anaconda简介使用镜像源配置 Pip简介镜像源配置 CUDAPytorch安装旧版本 TensorFlowGPU支持说明 DGL简介安装DGLLife RDKitscikit-multilearn Anaconda 简介 …...
HTTP 劫持、DNS 劫持与 XSS
HTTP 劫持、DNS 劫持与 XSS http 劫持是指攻击者在客户端和服务器之间同时建立了连接通道,通过某种方式,让客户端请求发送到自己的服务器,然后自己就拥有了控制响应内容的能力,从而给客户端展示错误的信息,比如在页面中…...
bash引用-Quoting详细介绍
bash引用-Quoting详细介绍 概述 引用的字面意思就是,用引号括住一个字符串。这可以保护字符串中的特殊字符不被shell或shell脚本重新解释或扩展。(如果一个字有不同于其字面意思的解释,它就是“特殊的”。例如:星号*除了本身代表*号以外还表…...
powershell几句话设置环境变量
设置环境变量比较繁琐,现在用这段话,在powershell中就可以轻松完成。 $existingPath [Environment]::GetEnvironmentVariable("Path", "Machine") $newPath "C:\Your\Path\Here"if ($existingPath -split ";"…...
Javascript 数据结构[入门]
作者:20岁爱吃必胜客(坤制作人),近十年开发经验, 跨域学习者,目前于海外某世界知名高校就读计算机相关专业。荣誉:阿里云博客专家认证、腾讯开发者社区优质创作者,在CTF省赛校赛多次取得好成绩。…...
IO(JavaEE初阶系列8)
目录 前言: 1.文件 1.1认识文件 1.2结构和目录 1.3文件路径 1.4文本文件vs二进制文件 2.文件系统的操作 2.1Java中操作文件 2.2File概述 2.2.1构造File对象 2.2.2File中的一些方法 3.文件内容的操作 3.1字节流 3.1.1InPutStream的使用方法 3.1.2OutPu…...
React Native 样式表的基础知识
在 React Native 中我们要使用组件元素进行样式设置的话,我们需要使用StyleSheet组件才能制定样式。useColorScheme是为 APP 定义颜色主题的。在此笔记中我们只是简单做一个介绍和使用。 使用StyleSheet定义样式 当我们要使用StyleSheet的话,我们需要引…...
【JS 解构赋值】
JS 解构赋值是 ES6 中一种简洁、高效的赋值方式,它可以将数组和对象中的值拆分出来并赋值给变量。 解构赋值 解构数组解构对象嵌套解构结语 解构数组 解构数组时,需要使用方括号 [] 包围变量名,并用逗号 , 将变量名隔开。 let [a, b, c] …...
Vue3状态管理库Pinia——自定义持久化插件
个人简介 👀个人主页: 前端杂货铺 🙋♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…...
il汇编整数相加
在这里尝试了IL汇编字符串连接; IL汇编字符串连接_bcbobo21cn的博客-CSDN博客 下面来看一下IL汇编整数相加; 大概的看一下一些资料,下面语句, ldc.i4 20 ldc.i4 30 add 看上去像是,装载整数20到一个类似于…...
RabbitMQ 事务
事务简介 就像我们了解的MySQL中的事务一样,RabbiMQ的事务也具备原子性和一致性,并且RabbiMQ的事务是针对消息从生产者发送到RabbitMQ中提供的支持,因此不同事务可以同时给同一个队列发送信息。 可通过channel.txSelect,chann…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
Visual Studio Code 扩展
Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...
Spring AOP代理对象生成原理
代理对象生成的关键类是【AnnotationAwareAspectJAutoProxyCreator】,这个类继承了【BeanPostProcessor】是一个后置处理器 在bean对象生命周期中初始化时执行【org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization】方法时…...
基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究
摘要:在消费市场竞争日益激烈的当下,传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序,探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式,分析沉浸式体验的优势与价值…...
Java中栈的多种实现类详解
Java中栈的多种实现类详解:Stack、LinkedList与ArrayDeque全方位对比 前言一、Stack类——Java最早的栈实现1.1 Stack类简介1.2 常用方法1.3 优缺点分析 二、LinkedList类——灵活的双端链表2.1 LinkedList类简介2.2 常用方法2.3 优缺点分析 三、ArrayDeque类——高…...
比较数据迁移后MySQL数据库和ClickHouse数据仓库中的表
设计一个MySQL数据库和Clickhouse数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
