docker login 报错: http: server gave HTTP response to HTTPS client

2024-06-17 07:44

本文主要是介绍docker login 报错: http: server gave HTTP response to HTTPS client,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境: 自建 HarborDocker

1. 问题分析

# 命令,这里用的是 IP,可以为域名
docker login -u test 172.16.51.182:31120
# 输入密码
Password:# 报错如下: 
Error response from daemon: Get "https://172.16.51.182:31120/v2/": 
http: server gave HTTP response to HTTPS client

这个错误提示意味着的 Docker 客户端正在尝试通过 HTTPS 协议连接到一个只接受 HTTP 连接的服务器。这是因为 Docker 默认会尝试使用 HTTPS 连接到 Docker Registry

按照标准流程来说,应该 Harbor 仓库地址应该支持 Https

如果对安全要求不高的话,可以通过一个简单的方式处理:

直接在 Docker 的配置文件中明确指定 Docker Registry 服务器使用 HTTP 协议来解决这个问题。

以下是如何修改 Docker 的配置文件的步骤:

2. 处理方式

2.1 打开或创建 Docker 配置文件

这个文件通常位于 /etc/docker/daemon.json。如果该文件不存在,可以创建一个。

2.2 编辑 Docker 配置文件

选择自己熟悉的编辑器即可。

# 使用 vim
vim /etc/docker/daemon.json

在该文件中添加 insecure-registries 字段,并将 Docker Registry 服务器地址加入到这个字段的值中。例如上面的地址 172.16.51.182:31120(或域名):

{// ..."insecure-registries" : ["172.16.51.182:31120"]// ...
}

根据实际情况,替换为自己的 Docker Registry 服务器的地址。

2.3 保存并关闭配置文件。

保存并关闭配置文件。

2.4 重新启动 Docker 服务。

在大多数 Linux 发行版中,可以使用以下命令来重启 Docker 服务:

sudo systemctl restart docker

大功告成,然后继续 HTTP 协议连接到相应的 Docker Registry 服务器。

docker login -u test 172.16.51.182:31120# 会提示让输入密码:
Password:# 登录成功
Login Succeeded

【注】上面的算是一个骚操作,但是还是建议 Docker Registry 镜像仓库服务器支持 HTTPS

在这里插入图片描述

这篇关于docker login 报错: http: server gave HTTP response to HTTPS client的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1068847

相关文章

解决idea启动项目报错java: OutOfMemoryError: insufficient memory

《解决idea启动项目报错java:OutOfMemoryError:insufficientmemory》:本文主要介绍解决idea启动项目报错java:OutOfMemoryError... 目录原因:解决:总结 原因:在Java中遇到OutOfMemoryError: insufficient me

SQL Server中行转列方法详细讲解

《SQLServer中行转列方法详细讲解》SQL行转列、列转行可以帮助我们更方便地处理数据,生成需要的报表和结果集,:本文主要介绍SQLServer中行转列方法的相关资料,需要的朋友可以参考下... 目录前言一、为什么需要行转列二、行转列的基本概念三、使用PIVOT运算符进行行转列1.创建示例数据表并插入数

python项目打包成docker容器镜像的两种方法实现

《python项目打包成docker容器镜像的两种方法实现》本文介绍两种将Python项目打包为Docker镜像的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录简单版:(一次成功,后续下载对应的软件依赖)第一步:肯定是构建dockerfile,如下:第二步

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

Docker + Redis 部署集群的实现步骤

《Docker+Redis部署集群的实现步骤》本文详细介绍了在三台服务器上部署高可用Redis集群的完整流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录一、环境准备1. 服务器规划(3 台服务器)2. 防火墙配置(三台服务器均执行)3. 安装 docke

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

idea突然报错Malformed \uxxxx encoding问题及解决

《idea突然报错Malformeduxxxxencoding问题及解决》Maven项目在切换Git分支时报错,提示project元素为描述符根元素,解决方法:删除Maven仓库中的resolv... 目www.chinasem.cn录问题解决方式总结问题idea 上的 maven China编程项目突然报错,是

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型:

docker 重命名镜像的实现方法

《docker重命名镜像的实现方法》在Docker中无法直接重命名镜像,但可通过添加新标签、删除旧镜像后重新拉取/构建,或在DockerCompose中修改配置文件实现名称变更,感兴趣的可以了解一下... 目录使用标签(Tagging)删除旧的php镜像并重新拉取或构建使用docker Compose在Do

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型