在无法直接访问外网的情况下,需要通过配置代理proxy才可以进行访问
Linux的配置如下:
1.修改/etc/profile文件
leafpad /etc/profile
添加:
http_proxy=http://代理IP/域名:端口
https_proxy=http://代理IP/域名:端口
ftp_proxy=http://代理IP/域名:端口
export http_proxy https_proxy ftp_proxy
2.使配置生效
source /etc/profile
这对于大部分操作都是可行的,然而docker命令却使用不了这些代理。比如docker需要从外网下载镜像时,就会出现如下错误:
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/ http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See ‘docker run --help’.
1 为docker服务创建一个内嵌的systemd目录和conf文件
mkdir -p /etc/systemd/system/docker.service.d
vi /etc/systemd/system/docker.service.d/http-proxy.conf
2 添加环境变量
[Service]
Environment=“HTTP_PROXY=http://proxy-addr:port/”
Environment=“HTTPS_PROXY=http://proxy-addr:port/”
Environment="NO_PROXY=localhost,127.0.0.1 "
注意事项:HTTPS_PROXY后的proxy url也是http开头,而不是https,否则会报错
3 查看环境变量
systemctl show --property=Environment docker
4 更新配置并重启服务
systemctl daemon-reload
systemctl restart docker