Error response from daemon: Get "https://10.0.1.34/v2/": tls: failed to verify certificate: x509: certificate signed by unknown authority
时间: 2025-07-14 13:55:22 浏览: 30
当遇到 `Docker error response from daemon: Get https://10.0.1.34/v2/: tls: failed to verify certificate: x509: certificate signed by unknown authority` 错误时,表明 Docker 客户端无法验证远程仓库的 TLS 证书。此类问题通常发生在使用自签名证书或私有镜像仓库(如 Harbor)的情况下。
### 原因分析
- **自签名证书未被信任**:如果私有仓库使用的是自签名证书,而该证书未被系统信任库所识别,则会触发此错误。
- **证书路径配置不正确**:Docker 守护进程可能未正确配置以识别本地 CA 证书。
- **证书过期或格式错误**:证书文件可能已损坏、过期或格式不正确,导致验证失败。
### 解决方案
#### 方法一:将自签名证书添加到系统信任库
1. 将自签名证书文件(例如 `ca.crt`)复制到系统的证书信任目录:
```bash
sudo cp ca.crt /usr/local/share/ca-certificates/
```
2. 更新系统证书信任库:
```bash
sudo update-ca-certificates
```
3. 重启 Docker 服务以应用更改:
```bash
sudo systemctl restart docker
```
此方法确保系统和 Docker 都信任你的私有仓库证书[^2]。
#### 方法二:在 Docker 守护进程中指定证书路径(适用于多节点环境)
编辑 `/etc/docker/daemon.json` 文件,添加以下内容:
```json
{
"insecure-registries" : ["10.0.1.34"]
}
```
> 注意:该配置会使 Docker 忽略对指定地址的 TLS 验证,仅建议在测试环境中使用。
保存后重启 Docker:
```bash
sudo systemctl restart docker
```
#### 方法三:手动分发并安装证书到所有节点
在 Kubernetes 或多节点部署中,所有 Master 和 Node 节点都需要信任相同的证书。可按以下步骤操作:
1. 将证书复制到每个节点的 `/etc/docker/certs.d/10.0.1.34/` 目录下:
```bash
sudo mkdir -p /etc/docker/certs.d/10.0.1.34
sudo cp ca.crt /etc/docker/certs.d/10.0.1.34/
```
2. 重启 Docker 服务:
```bash
sudo systemctl restart docker
```
该方式适用于需要精确控制证书信任范围的场景[^3]。
#### 方法四:临时禁用 TLS 验证(不推荐)
虽然可以通过设置 `--insecure-registry` 参数来绕过 TLS 验证,但这会带来安全风险。仅用于调试目的:
修改 `/etc/docker/daemon.json`:
```json
{
"insecure-registries": ["10.0.1.34"]
}
```
然后重启 Docker 服务。
---
### 示例:完整修复流程
假设你已经获取了 Harbor 的 CA 证书 `harbor-ca.crt`,可以执行如下命令完成配置:
```bash
sudo mkdir -p /etc/docker/certs.d/10.0.1.34
sudo cp harbor-ca.crt /etc/docker/certs.d/10.0.1.34/ca.crt
sudo systemctl restart docker
```
确认是否能够成功登录并拉取镜像:
```bash
docker login 10.0.1.34
docker pull 10.0.1.34/project/nginx:latest
```
---
### 总结
解决此类问题的核心在于确保 Docker 守护进程能够正确识别并信任目标镜像仓库的 TLS 证书。根据部署环境的不同,可以选择添加证书到系统信任库、配置 insecure-registries 或手动分发证书等方式。
---
阅读全文
相关推荐


