Jfrog Pipelines构建节点无法拉取Docker镜像问题排查
解决Docker拉取JFrog镜像时的
tls: unrecognized name错误 核心原因
Docker客户端与JFrog仓库建立TLS连接时,证书的服务器名称(SAN字段)和访问地址myInstance.cloud:8082不匹配,或是Docker未正确信任该仓库的证书。
修复方案
检查并更新JFrog TLS证书
确认证书的SAN字段包含myInstance.cloud(证书SAN不包含端口,只需匹配域名)。若缺失,重新生成包含正确域名的证书并替换JFrog实例的证书。让Docker信任JFrog证书
- 访问
https://myInstance.cloud:8082,从浏览器导出仓库的.crt格式证书。 - 将证书放到对应系统的Docker证书目录:
- Linux:
/etc/docker/certs.d/myInstance.cloud:8082/ca.crt - Windows:
C:\ProgramData\Docker\certs.d\myInstance.cloud:8082\ca.crt - macOS:
~/Library/Containers/com.docker.docker/Data/database/certs.d/myInstance.cloud:8082/ca.crt
- Linux:
- 重启Docker服务使配置生效。
- 访问
校验仓库地址配置
确认Pipelines中配置的仓库地址无误,使用域名而非IP(除非证书包含该IP),同时检查8082是否为JFrog仓库的正确HTTPS端口(部分实例默认用443)。开发环境临时 workaround
若为开发环境,可临时将仓库加入Docker不安全列表(生产环境禁用):
编辑/etc/docker/daemon.json(Linux)或对应系统的配置文件,添加:{ "insecure-registries": ["myInstance.cloud:8082"] }重启Docker服务即可。
内容的提问来源于stack exchange,提问作者Priyanshu
相关产品推荐
相关产品推荐

