环境:
1、Windows台式机10.1.32.174可访问外网,在174上开启代理,代理端口为127.0.0.1:7890
在174上测试:
curl --proxy 127.0.0.1:7890 -v https://www.google.com/

2、ubuntu主机10.1.32.175 需要使用174上的代理执行 docker pull 命令,
因为174代理端口只能本机127.0.0.1访问,需要借助SSH隧道,将174本机端口映射到175上

具体配置:
1、在10.1.32.174上建立反向 SSH 隧道 (windows主机没有开SSHD服务,所以从win主机发起)
在 174 主机上执行:ssh -R 127.0.0.1:7890:127.0.0.1:7890 root@10.1.32.175
说明:第一对“127.0.0.1:7890” 是指在远程175主机上,在本地环回地址上监听7890端口,在175:7890 -> 174:xx随机端口之间建立隧道
第二对“127.0.0.1:7890”是指在174上ssh客户端 -> 将来自隧道的请求转发到 本机代理端口127.0.0.1:7890 (代理端口只能本机访问)
在175上检查端口监听:ss -tlun
正常应该看到监听端口为 127.0.0.1:7890 (如果175上/etc/ssh/sshd_config文件中打开了GatewayPorts yes的话,可能监听地址为 0.0.0.0:7890,安全起见要注意及时关闭ssh隧道)
在175上测试:curl --proxy 127.0.0.1:7890 -v https://www.google.com/

2、配置docker服务的代理信息
编辑文件:/etc/systemd/system/docker.service.d/http-proxy.conf

[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890/"
Environment="HTTPS_PROXY=http://127.0.0.1:7890/"

注意HTTPS_PROXY也设置为 http://

重启docker服务:systemctl daemon-reload & systemctl restart docker
试着拉一下镜像:docker pull ollama/ollama:0.5.12


sswhsz
168 声望4 粉丝