生产环境linux部分服务器是没有外网地址,所以都是通过代理配置上网的。
但是今天发现linux配置完代理后,可以上网了,但是获取docker镜像时,提示 Get https://registry-1.docker.io/v2/ proxyconnect tcp: tls: oversized record received with length 20527
因为没有外网,所以第一时间想到的是代理配置的问题。
通过搜索了解到,docker有自身的代理配置,如下
#创建一个代理配置文件
touch /etc/systemd/system/docker.service.d/http-proxy.conf
# 写入内容
[Service]
Environment="HTTP_PROXY=http://[proxy-addr]:[proxy-port]/" "HTTPS_PROXY=http://[proxy-addr]:[proxy-port]/" "NO_PROXY=localhost,127.0.0.1"
# 注意,这个的HTTPS_PROXY也要设置为和HTTP_PROXY
# 更新配置
systemctl daemon-reload
# 重启docker
systemctl restart docker
再次获取镜像成功了。