解决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://你的域名"]
}

`

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

相关推荐
云飞云共享云桌面19 分钟前
智能装备工厂研发部门多设计师共享一台SolidWorks服务器做设备装配建模
运维·服务器·网络·人工智能·3d·自动化·制造
Elastic 中国社区官方博客27 分钟前
Elastic 在《Forrester Wave™:2026 年第四季度智能运维平台》报告中被评为强劲表现者
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索
叼烟扛炮33 分钟前
Linux 学习笔记(三十九):网络基石——TCP/IP 模型与 UDP 实战
linux·运维·网络·笔记·学习·tcp/ip
Jack N39 分钟前
【Strapi 系列之八】二次开发 + 生产部署,Docker + PostgreSQL + Nginx 一把梭
nginx·docker·postgresql·strapi
你看我名字43 分钟前
Kafka 架构、消息可靠性与生产运维:从分区模型到故障治理
运维·架构·kafka
研发小能1 小时前
DevOps 工具链怎么选?已有工具的企业,先评估整合能力
运维·devops
路由侠内网穿透.1 小时前
本地部署开源 WSGI HTTP 服务器 Gunicorn 并实现外部访问
运维·服务器·网络·网络协议·http·开源
刚入门的大一新生1 小时前
Linux-线程控制
linux·运维·服务器
Decay__1 小时前
03_MySQL 存储引擎与存储管理 —— InnoDB 深入、表空间/ibd、binlog/redo/undo 与双写缓冲
运维·数据库·sql·mysql·架构
艾伦_耶格宇1 小时前
【kubernetes - 1.28版本】-7 K8S命令
云原生·容器·kubernetes