一、前言
报错原因,docker访问不到外网。并且docker不能直接依赖操作系统环境的proxy,因此需要独立配置docker的proxy才能访问外网。
问题描述 docker search mysql出现以下报错:
[root@localhost ~]# docker search mysqlError response from daemon: Get "https://index.docker.io/v1/search?q=mysql&n=25": dial tcp 108.160.165.53:443: connect: connection refused
二、docker配置proxy代理文件
1.打开http-proxy.conf文件
sudo mkdir -p /etc/systemd/system/docker.service.dsudo vim /etc/systemd/system/docker.service.d/http-proxy.conf
2.修改http-proxy.conf文件
在http-proxy.conf文件配置proxy信息,如下:
[Service]Environment="HTTP_PROXY=http://10.4.7.1:7897"Environment="HTTPS_PROXY=http://10.4.7.1:7897"Environment="NO_PROXY=localhost,127.0.0.1,10.0.0.0/8,172.0.0.0/8,192.0.0.0/8"
其中10.4.7.1:7897为代理IP和端口
如果有帐号密码的话配置为:
[Service]Environment="HTTP_PROXY=http://帐号:密码@10.4.7.1:7897"Environment="HTTPS_PROXY=http://帐号:密码@10.4.7.1:7897"Environment="NO_PROXY=localhost,127.0.0.1,10.0.0.0/8,172.0.0.0/8,192.0.0.0/8"
3.重启docker,查看proxy是否配成功
sudo systemctl daemon-reloadsudo systemctl restart docker
查看proxy是否配置成功
sudo systemctl show --property=Environment docker
如下显示结果则配置成功
4.测试搜索docker镜像
三、取消代理
删除文件/etc/systemd/system/docker.service.d/http-proxy.conf
重启docker
sudo systemctl daemon-reloadsudo systemctl restart dockersudo systemctl show --property=Environment docker
结尾:样例小程序二维码,自己做的一个免费好用的排班小程序