docker pull 命令拉取牆外鏡像配置
1、
先走通這個https://blog.csdn.net/o0haidee0o/article/details/88638688
v2ray打開!!!!保持運行
2、
把privoxy的配置文件內容改成如下:
orward-socks5 / 127.0.0.1:1080 . #不動
listen-address 0.0.0.0:8118 #就把ip換成0.0.0.0
用下面命令重啓一下privoxy:
service privoxy restart
3、
vi /etc/profile把內容改成如下:
export http_proxy=http://0.0.0.0:8118
export https_proxy=http://0.0.0.0:8118
export ftp_proxy=http://0.0.0.0:8118 #就是都和privoxy裏的listen-address保持一致
運行如下命令生效:
source /etc/profile
4、配置docker
參考官網 https://docs.docker.com/config/daemon/systemd/
sudo mkdir -p /etc/systemd/system/docker.service.d
vi /etc/systemd/system/docker.service.d/http-proxy.conf
輸入如下內容:
[Service]
Environment="HTTP_PROXY=http://localhost:8118"
8118是privoxy配置文件的端口,這裏localhost不能寫成127.0.0.1,原因不明。
sudo systemctl daemon-reload
sudo systemctl restart docker
5、
總結:
v2ray出來了127.0.0.1:1080給privoxy轉到0.0.0.0:8118,然後docker代理http是從localhost:8118來的
爲什麼privoxy那裏一定是0.0.0.0而不是localhost那?
原因:
因爲 docker 聯網走的是 自己創建的一個 172.xx的網卡(ifconfig可以看到). 而 privoxy 默認只接納 本地也就是 localhost 或者 127.0.0.1 的流量. 這個時候需要 privoxy 更改成接納全部的流量, 0.0.0.0 表示,不看是從那裏來的流量,只要8118端口有流量進來,就轉發.(原因出處:來自張楊的解釋,這回名字沒寫錯)