解决docker 推送自签证书仓库报错:x509: certificate signed by unknown authority错误

报错解释:

这个错误表明Docker客户端尝试与一个Docker仓库进行安全通信时,遇到了证书认证问题。具体来说,通信的服务器提供的SSL证书不是由一个受信任的认证机构签发的,客户端无法验证该证书的真实性。

解决方法:

如果你在使用自签名证书或者内部CA签发的证书,你需要手动将该证书添加到Docker客户端的信任列表中。可以通过以下命令实现:

bash 复制代码
sudo mkdir -p /etc/docker/certs.d/<仓库地址>:<端口>
sudo cp <证书路径> /etc/docker/certs.d/<仓库地址>:<端口>/ca.crt
sudo systemctl restart docker

将<仓库地址>和<端口>替换为实际的仓库地址和端口,<证书路径>替换为实际证书的路径。

如果你正在使用的是公有云提供的容器仓库服务,那么可能是服务端SSL证书有更新,需要更新Docker客户端到最新版本。

如果你不需要安全通信,例如在测试环境中,可以通过设置Docker客户端以不安全模式与仓库通信:

bash 复制代码
echo { "insecure-registries" : ["<仓库地址>:<端口>"] } | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker

或者编辑/etc/docker/daemon.json文件

bash 复制代码
vim /etc/docker/daemon.json
json 复制代码
{
  "insecure-registries" :["https://你的域名"]
}

`

确保替换<仓库地址>和<端口>为实际的仓库地址和端口。不过请注意,这种方法不推荐在生产环境中使用,因为它会使通信容易受到中间人攻击。

相关推荐
LSL666_13 分钟前
4 Docker 镜像安装与容器启动
运维·docker·容器
坚持就完事了22 分钟前
Linux中的cp命令
linux·运维·服务器
2301_8009769324 分钟前
Linux的基本命令
linux·运维·服务器
许愿OvO1 小时前
MySQL 8.3.0 运维与集群架构实战
运维·mysql·架构
凌云拓界1 小时前
青创赛终评手记:最后的成功
运维·科技·职场和发展·架构·创业创新
zjeweler1 小时前
宝藏网站推荐:云服务器特惠与网安学习资源的一站式聚合平台
运维·服务器·学习
时空自由民.1 小时前
Linux,ESP IDF,NuttX OS使用的项目编译管理构建体系Kconfig + Kbuild(或基于 Make/CMake 的构建系统)
linux·运维·服务器
上弦月-编程1 小时前
C语言位运算:从入门到精通
运维·c语言·开发语言·vscode·算法·leetcode·极限编程
云达闲人1 小时前
搭建DevOps企业级仿真实验环境:001Proxmox VE 8.x 系统介绍与安装准备
运维·devops·proxmox·idrac·实验环境搭建
开开心心就好1 小时前
一款既是直播工具又是浏览器的软件
linux·运维·服务器·智能手机·逻辑回归·excel·最小二乘法