mac操作系统下,docker登录nexus私库,提示不支持https协议的错误

一、背景

我们使用nexus搭建了一个Docker Registry私有仓库,在Mac操作系统,在推送本地镜像到私库前,要求我们登录私库,报错如下:

bash 复制代码
docker login 192.168.5.6:8086 -u username -p password

WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get "https://192.168.5.6:8086/v2/": http: server gave HTTP response to HTTPS client

错误信息 http: server gave HTTP response to HTTPS client 表示客户端期望与服务器建立 HTTPS 连接,但服务器却返回了 HTTP 响应。这通常意味着客户端尝试通过 HTTPS 连接到一个仅支持 HTTP 的服务器。

二、nexus私库

在公司研发环境下,搭建的docker私有仓库,只支持http协议,并不涉及https证书。

一般,我们会在/etc/docker/daemon.json 配置Docker Daemon:

bash 复制代码
{
  "registry-mirrors": ["http://192.168.5.6:8087"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3",
    "labels": "production_status",
    "env": "os,customer"
  },
  "insecure-registries" : [
    "192.168.5.6:8086",
    "192.168.5.6:8087"
  ]
}

insecure-registries 添加私库的白名单。

三、Docker Desktop

  • 官方下载dmg文件,手动安装。注意你的os版本是否符合所下载软件的要求。
    官方 Docker Desktop

  • brew安装

bash 复制代码
 brew install --cask --appdir=/Applications docker

双击并启动即可。

四、总结

如果你是通过命令行的方式更新文件/etc/docker/daemon.json,然后在docker desktop重启,并不能解决问题。

在mac操作系统下,你不能像Linux操作系统那样,使用下面的重启命令。

bash 复制代码
systemctl daemon-reload && systemctl restart docker

二者,mac用户并非root用户,你需要sudo才能写入文件/etc/docker/daemon.json。重要的是,docker desktop并不加载读取它。

所以,在docker desktop的设置中,你得找到Docker Engine的daemon配置。


此时重启docker,再次登录,就不会报错了。-- Login Succeeded

相关推荐
分布式存储与RustFS4 小时前
OpenSearch 的索引快照别只留本地:用 repository-s3 存进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
瑞克-桑切斯4 小时前
docker Harbor 单机部署手册
大数据·运维·elasticsearch·docker·容器
奶茶树4 小时前
【Linux】环境开发工具(vim,gcc,g++,Makefile)
linux·运维·vim
机 _ 长5 小时前
05 智算运维|8 张卡怎么才算「捆成一张」:NCCL 实测与拓扑
运维·人工智能·算法·智算运维
独隅5 小时前
WebStorm macOS 安装调优与实战效果全景
ide·macos·webstorm
wzq11_6665 小时前
Kubernetes集群——存储管理
云原生·容器·kubernetes
andxe6 小时前
工业级 PoE 交换机选型指南:破解边缘部署四大核心难题
运维·网络·安全·光通信·交换机
Decay__6 小时前
14_MySQL 高可用与容灾架构 —— MGR / InnoDB Cluster / Keepalived+VIP / 双主 / 读写分离 / 两地三中心
运维·数据库·sql·mysql·架构
木子欢儿8 小时前
国内 macOS/Linux 安装 rust
linux·运维·服务器·macos·rust
迪菲赫尔曼8 小时前
【基础篇 26】第一次在服务器完成训练:准备数据、断线继续、检查成果与备份
运维·服务器·人工智能·机器学习·计算机视觉