docker加速服务与代理服务失败尝试【未解决】

1、使用阿里云加速器

在不同的系统下面,配置加速器的方式有一些不同,这里适用于Ubuntu 18.04系统。关于加速器的地址,你只需要登录容器Hub服务的控制台,左侧的加速器帮助页面就会显示为你独立分配的加速地址。

当你下载安装的Docker Version不低于1.10时,建议直接通过daemon config进行配置。 使用配置文件 /etc/docker/daemon.json(没有时新建该文件)

{“registry-mirrors”: [""]}

重启Docker Daemon就可以了。注意:我使用上面的方法后Docker就起不来了,看网上有人说好像是因为配置间有冲突,所以我选择了下一种方法,那就是设置docker代理的方法。

2、代理服务

Shadowsocks是一个使用SOCKS5(或者SOCK4之类)协议的代理,它只接受SOCKS5协议的流量,不接受HTTP或者HTTPS的流量。所以当你在Chrome上能穿墙的时候,是Proxy SwitchyOmega插件把HTTP和HTTPS流量转换成了SOCKS协议的流量,才实现了Shadowsocks的代理。而终端是没有这样的协议转换的,所以没法直接使用Shadowsock进行代理。这时候就需要一个协议转换器,这里我用了Privoxy。

2.1、安装ss服务器:

  • sudo apt-get install shadowsocks

2.2、配置

  • cd /etc/shadowsocks
    在这里插入图片描述

2.3、新建shadowsocks.json,填入如下内容:

{
"server":"xxx.xxx.xxx.xxx",  # SS Server 端服务器公网 
IP"server_port":1851, # SS Server 端口
"local_address": "127.0.0.1", #SS Local 端配置,不影响Server端使用
"local_port":1080,  #SS Local 端配置,不影响Server端使用
"password":"xxxxx",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}   //注意,注释不要添加

在这里插入图片描述

  • sudo ssserver -c /etc/shadowsocks/shadowsocks.json -d start

sudo sslocal -c /etc/shadowsocks/shadowsocks.json -d start 【ss-local 是 shadowsocks 的本地 socks5 服务器,如果需要使用 ss-local 提供的 socks5 代理,必须让应用程序使用 socks5 协议与之通信,但是很可惜,除了部分浏览器、软件直接支持 socks5 协议外,其它的都只支持 http 代理。因此,我们需要借助 privoxy 来将 http 代理协议转换为 socks5 代理协议,与后端的 ss-local 进行通信】
在这里插入图片描述

2.3、Privoxy

Privoxy是一款带过滤功能的代理服务器,针对HTTP、HTTPS协议。通过Privoxy的过滤功能,用户可以保护隐私、对网页内容进行过滤、管理cookies,以及拦阻各种广告等。Privoxy可以用作单机,也可以应用到多用户的网络。修改HTTP请求头的字段,如referrer和user agent,从而隐藏用户上一个查看的网页和用户正在使用的浏览器。

  • 安装并配置 Privoxy: sudo apt-get install privoxy

2.4、配置

  • sudo gedit /etc/privoxy/config

#listen-address  127.0.0.1:8118
#listen-address  [::1]:8118
listen-address  0.0.0.0:8118f
orward-socks5t / 127.0.0.1:1080 .    #【注意后面的点一定要加】
#forward-socks5t: 表示 Privoxy 转发请求到 Socks5 协议;【在使用 privoxy 对 sock5 等代理协议进行转发成 http 的时候 forward-socks5 和 forward-socks5t 区别虽然不是很大,但是有时候却非常头疼,只能 GET  不能 POST。经过排查发现,forward-socks5 的 DNS 解析会在远程服务器上进行,而 forward-socks5t 却不会,这就导致使用后者访问境外网站的时候 ,国内 DNS 无法解析境外网址的情况,从而也就不知道去访问哪个IP。一般来说,还是建议使用 forward-socks5。】
#127.0.0.1: 第二步中启动 SS Local 本地绑定 IP;
#1080: 第二步中启动 SS Local 本地监听端口;

将 listen-address改成 listen-address 0.0.0.0:8118,表示该代理可以对外访问。 注意一定要将原来的两个listen-address注释掉。否则无法启动privoxy

2.5 启动

  • systemctl restart privoxy 【没有消息就是最好的消息】 或者sudo /etc/init.d/privoxy restart

sysremctl enable privoxy 【Synchronizing state of privoxy.service with SysV service script with /lib/systemd/systemd-sysv-install.Executing: /lib/systemd/systemd-sysv-install enable privoxy】
如果报错:
绝大部分情况下是配置文件错误,仔细检查 /etc/privoxy/config 文件,是否有重复配置,或者输入错误。查看配置文件

2.6 、查看代理的 IP地址:export http_proxy=http://127.0.0.1:8118 && curl ip.gs
在这里插入图片描述

2.7、测试代理是否可以用:
在这里插入图片描述

尝试:配置终端环境
~$ export http_proxy=“127.0.0.1:8118”
~$ export https_proxy=“127.0.0.1:8118”
结果:没用

参考
https://www.tuicool.com/articles/NvuuM3B
https://ywnz.com/linuxjc/2463.html
https://www.zfl9.com/ss-local.html

猜你喜欢

转载自blog.csdn.net/zhizhengguan/article/details/83745977