易君召
易君召
发布于 2026-07-16 / 8 阅读
0
0

Docker 配置 Harbor HTTP 非安全仓库(insecure-registries)完整步骤

一、原理说明

Harbor 默认 HTTPS,若仅启用 HTTP,Docker 客户端默认拒绝连接,会报 x509: certificate signed by unknown authority,需要在 Docker 守护进程配置 insecure-registries 信任该 HTTP 仓库地址。

二、配置方式分两类:Linux(systemd)、Windows/Mac Docker Desktop

方式 1:Linux 服务器(CentOS / Ubuntu /openEuler 通用)

1. 检查 docker 配置文件是否存在

Docker 守护进程配置文件路径:/etc/docker/daemon.json 若无该文件则手动创建,有则直接编辑。

# 编辑配置文件
vim /etc/docker/daemon.json

2. 写入配置模板

替换 ${REGISTRY_HOST} 为你的 Harbor 地址,支持域名 / IP + 端口 示例 1:Harbor 无端口(80)

{
  "insecure-registries": ["192.168.1.100"]
}

示例 2:Harbor 自定义端口 8080

{
  "insecure-registries": ["192.168.1.100:8080"]
}

示例 3:域名方式

{
  "insecure-registries": ["harbor.local"]
}

多仓库用逗号分隔:["ip1","ip2:port","domain"]

3. 重载 Docker 配置 + 重启服务

# 重载systemd配置
systemctl daemon-reload
# 重启docker
systemctl restart docker

4. 验证配置是否生效

docker info

输出中找到 Insecure Registries,能看到你配置的 Harbor 地址即成功。

方式 2:Docker Desktop(Windows / Mac)图形化配置

  1. 打开 Docker Desktop 设置 → Docker Engine

  2. 在 JSON 配置里添加 insecure-registries,示例:

{
  "registry-mirrors": [],
  "insecure-registries": [
    "192.168.1.100",
    "harbor.local:8080"
  ],
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB"
    }
  },
  "experimental": false
}
  1. 点击右下角 Apply & Restart 重启 Docker。

三、常见问题补充

1. 报错 daemon.json 格式错误

  • JSON 不能有多余逗号、注释;

  • 键名必须双引号,不能单引号。

2. 配置后依然拉取镜像报错

排查顺序:

  1. 确认 docker 已重启,docker info 能看到 insecure 地址;

  2. 宿主机防火墙放行 Harbor 端口;

  3. 确认 Harbor 服务确实监听 HTTP,未强制跳转 HTTPS;

  4. 若使用域名,检查 /etc/hosts 解析是否正确。

3. 离线 / 信创环境多节点批量配置

可批量推送 /etc/docker/daemon.json,执行两行命令生效:

systemctl daemon-reload && systemctl restart docker

四、完整示例实操(IP:10.0.0.10 Harbor 80 端口)

cat > /etc/docker/daemon.json <<EOF
{
  "insecure-registries": ["10.0.0.10"]
}
EOF
systemctl daemon-reload
systemctl restart docker
docker info | grep "Insecure Registries"

五、K8s 额外场景(可选)

如果节点使用 containerd 而非 docker,配置文件路径不同: /etc/containerd/config.toml,需修改 [plugins."io.containerd.grpc.v1.cri".registry.configs] 配置 http 仓库,不要用 docker daemon.json。


原文链接 https://www.yijunzhao.cn/archives/docker-harbor-http-insecure-registries-setup-guide

欢迎访问 小易撩挨踢

https://www.yijunzhao.cn/


评论