问题背景:
当我们在开发机上pull harbor私有仓库中的镜像的时候报错
Error response from daemon: Get https://harbor:9000/v2/: http: server gave HTTP response to HTTPS client
原因分析:
看报错很明确,docker client发起的是https的请求,harbor 私有仓库响应的是http ,所以请求不响应。
解决办法:
给docker配置私有仓库 非安全访问模式,重启docker服务即可生效
为了更明确地了解docker repository ,读了一遍源码,分析如下:
docker 版本:18.09
可以看到IndexConfigs 默认配置的是 安全模式
所以在我们不去配置非安全仓库的时候 ,默认client 发起的就是https
此时报错如下:
总结一句:
V2版本Repository https,http都支持 ,但是 默认走https ,如果需要http访问,就需要配置非安全仓库。