Par*_*dar 7 proxy socks docker
我正在尝试通过 socks5 代理拉取图像。我已经在端口上启动了socks5代理,8888如下所示:
ssh -NC -D 8888 parham@***.***.**
Run Code Online (Sandbox Code Playgroud)
但是,当我这样运行时docker-compose,很明显它没有使用环境变量:
$ ALL_PROXY=socks5://127.0.0.1:8888 docker-compose up
Run Code Online (Sandbox Code Playgroud)
如何让 Docker 通过这个代理拉取镜像?
小智 18
看起来这个功能最近被添加到了docker,特别是在版本中1.11.0。ALL_PROXY根据此评论,虽然没有足够的文档说明其用法,但设置环境变量应该有效。
$ export ALL_PROXY=socks5://localhost:port
$ docker pull image
Run Code Online (Sandbox Code Playgroud)
我现在不确定docker-compose。如果您的主要目标是使用 socks5 加快下载过程,那么您可以通过docker pull在最终运行docker-compose up.
错误:
docker-compose up
Pulling web (jitsi/web:stable-6433)...
ERROR: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
Run Code Online (Sandbox Code Playgroud)
然后设置HTTP_PROXY,HTTPS_PROXY这样:
export HTTP_PROXY=socks5://localhost:9040/
export HTTPS_PROXY=socks5://localhost:9040/
Run Code Online (Sandbox Code Playgroud)
结果:
docker-compose up
Pulling web (jitsi/web:stable-6433)...
stable-6433: Pulling from jitsi/web
b380bbd43752: Downloading [===================> ] 10.36MB/27.14MB
0312863d422f: Download complete
503063a74a58: Downloading [============================> ] 7.998MB/14.15MB
392a862abfe3: Download complete
41a073b705ed: Download complete
a8f4844f6941: Download complete
f500f1f2f4ae: Downloading [============> ] 11.69MB/47.56MB
Run Code Online (Sandbox Code Playgroud)
HTTP_PROXY设置之前和之后的照片:
如果方法 1 不起作用(简单的一种),您可以使用以下方法:
查找配置的 systemd 位置:
systemctl status docker | grep docker.service\;
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Run Code Online (Sandbox Code Playgroud)
对于我的 Debian 9 来说,/lib/systemd/system/docker.service它的目录是/lib/systemd/system/
So cdinto /lib/systemd/system/。
mkdir对于docker.service.d或:
mkdir docker.service.d && cd !$
Run Code Online (Sandbox Code Playgroud)
在docker.service.d目录中创建一个.conf文件,例如:http-proxy.conf
在http-proxy.conf文件中添加这些:
[Service]
Environment="HTTP_PROXY=socks5://localhost:9040"
Environment="HTTPS_PROXY=socks5://localhost:9040"
Run Code Online (Sandbox Code Playgroud)
注意这localhost:9040是我的,如果您有不同的 IP 或端口,请更新它
因为我们更新了配置运行:
systemctl daemon-reload
Run Code Online (Sandbox Code Playgroud)
然后重启docker服务
systemctl restart docker
Run Code Online (Sandbox Code Playgroud)
现在它已启动并运行:
| 归档时间: |
|
| 查看次数: |
14230 次 |
| 最近记录: |