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

相关文章

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

Python如何实现 HTTP echo 服务器

《Python如何实现HTTPecho服务器》本文介绍了如何使用Python实现一个简单的HTTPecho服务器,该服务器支持GET和POST请求,并返回JSON格式的响应,GET请求返回请求路... 一个用来做测试的简单的 HTTP echo 服务器。from http.server import HT

SQL Server数据库磁盘满了的解决办法

《SQLServer数据库磁盘满了的解决办法》系统再正常运行,我还在操作中,突然发现接口报错,后续所有接口都报错了,一查日志发现说是数据库磁盘满了,所以本文记录了SQLServer数据库磁盘满了的解... 目录问题解决方法删除数据库日志设置数据库日志大小问题今http://www.chinasem.cn天发

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

PHP执行php.exe -v命令报错的解决方案

《PHP执行php.exe-v命令报错的解决方案》:本文主要介绍PHP执行php.exe-v命令报错的解决方案,文中通过图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录执行phpandroid.exe -v命令报错解决方案执行php.exe -v命令报错-PHP War

CentOS系统使用yum命令报错问题及解决

《CentOS系统使用yum命令报错问题及解决》文章主要讲述了在CentOS系统中使用yum命令时遇到的错误,并提供了个人解决方法,希望对大家有所帮助,并鼓励大家支持脚本之家... 目录Centos系统使用yum命令报错找到文件替换源文件为总结CentOS系统使用yum命令报错http://www.cppc

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p