ubuntu docker设置http代理-三种方式

辉辉辉、 2024-07-17 13:37:01 阅读 67

因为这台服务器不能连网,只能通过能联网的设备搭建http代理才能下载安装应用。

给docker设置http代理我找到的有三个方式,应该有优先级。

1、设置客户端代理

       修改 ~/.docker/config.json文件

<code>{

"proxies":

{

"default":

{

"httpProxy": "http://IP:port",

"httpsProxy": "http://IP:port",

"noProxy": "*.test.example.com,.example2.com"

}

}

}

 我首先采用了这个方式,并没有生效,因为服务器后接手的,已经被设置过了,没找到上一位设置的地方,docker info的时候还是老的代理

2、修改docker服务配置

修改docker.service的内容,这个配置文件位置可能各有不同,有的在/lib/systemd/system/docker.service。

如果找不到可以使用 sudo find / -name docker.service 找。

我这个文件在 /etc/systemd/system/docker.service,vim打开后在[Service]里加上代理即可

<code>

[Service]

Type=notify

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

ExecReload=/bin/kill -s HUP $MAINPID

TimeoutSec=0

RestartSec=2

Restart=always

Environment="HTTP_PROXY=http://IP:port/"code>

Environment="HTTPS_PROXY=http://IP:port/"code>

Environment="NO_PROXY=localhost,127.0.0.1,localaddress,.localdomain.com"code>

然后重新加载docker.service的配置

sudo systemctl daemon-reload

重启docker

sudo service docker restart

但是这个也没生效。

3、最后是通过这个方式修改成的,也是修改服务配置,但是位置不一样

 这个在 /etc/systemd/system/docker.service.d/目录下,里面有一个http-proxy.conf文件,添加

[Service]

Environment="HTTP_PROXY=http://IP:port"code>

Environment="HTTPS_PROXY=http://IP:port"code>

Environment="NO_PROXY=localhost,127.0.0.1,registry.onlymin.com,reg.onlymin.com"code>

然后重新加载docker.service的配置

sudo systemctl daemon-reload

重启docker

sudo service docker restart

这里就是被设置的地方,修改后成功生效。

总结

第三个方式应该优先级最高,如果遇到Error response from daemon: Get "https://registry-1.docker.io/v2/": proxyconnect tcp: dial tcp 10.16.53.242:7890: connect: connection refused这种情况,可以看看。

参考文章:

Docker网络代理配置_docker 关闭 http-CSDN博客

ubuntu 22.04 docker 配置代理_ubuntu docker proxy-CSDN博客

ubuntu docker设置代理_ubuntu container proxy-CSDN博客



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。