错误现象
在服务器上运行docker pull/commit/push时不成功,报错如下:
server gave HTTP response to HTTPS client
报错内容是说https和http的问题,但实际上把网址换成https也不行,会报网络域名的错误。进一步分析得知是因为客户端使用https域名,但是registry
未使用导致的。
解决办法
docker有一个配置文件可以用来添加新的registry:
编辑这个deamon.json文件,可以添加新的http网址作为例外(“insecure-registries”)。加入下面的代码:
"insecure-registries": [
# 这里换成你的docker服务器地址
]
整个文件可以这样写:
{
"max-concurrent-downloads": 10,
"storage-driver": "overlay2",
"registry-mirrors": [],
"insecure-registries": [
]
}
把地址先省掉,免得被黑客找到。。NVIDIA太惨了。。。、
改完后需要重启docker的守护线程和docker:
systemctl daemon-reload
systemctl restart docker