681
设置代理的一些方法
乐果 发表于 2024 年 06 月 12 日 标签:Dockerdebian
因国内网络限制的原因,有时运维安装一些依赖包时常常因为源地址无法访问而头疼。
下面总结一下关于设置代理的一些方法。
debian 系统 apt 命令设置代理
直接贴命令案例:
apt -o Acquire::http::proxy="socks5h://192.168.1.211:1080/" upgrade -y
apt -o Acquire::http::proxy="socks5h://127.0.0.1:1089/" update
apt -o Acquire::http::proxy="socks5h://192.168.1.211:1080/" install maven
注:将上面 192.168.1.211:1080
改成自己的代理服务器即可。
docker pull 拉取镜像设置代理
由于 docker pull
命令是由 dockerd
守护进程执行。
而 dockerd
守护进程是由 systemd
管理。因此,如果需要在执行 docker pull
命令时使用 HTTP/HTTPS
代理,需要通过 systemd
配置。
方法如下:
为 dockerd
创建配置文件夹:
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo touch /etc/systemd/system/docker.service.d/proxy.conf
在这个 proxy.conf
文件(可以是任意 *.conf
的形式)中, 添加以下内容:
/etc/systemd/system/docker.service.d/http-proxy.conf
, 并在该文件中添加相关环境变量。
[Service]
Environment="HTTP_PROXY=socks5://192.168.1.211:1080/"
Environment="HTTPS_PROXY=socks5://192.168.1.211:1080/"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
刷新配置并重启 docker 服务
systemctl daemon-reload
systemctl restart docker
docker build 镜像构建过程设置代理
在容器构建阶段,如果需要使用 HTTP/HTTPS
代理,可以通过指定 docker build
的环境变量,或者在 Dockerfile
中指定环境变量的方式。
使用 --build-arg
指定 docker build
的相关环境变量
docker build \
--build-arg "HTTP_PROXY=socks5://192.168.1.211:1080/" \
--build-arg "HTTPS_PROXY=socks5://192.168.1.211:1080/" \
--build-arg "NO_PROXY=localhost,127.0.0.1,.example.com" .
或者在 Dockerfile
中指定相关环境变量。
设置当前环境级别的代理
查看是否设置了代理
env | grep -i proxy
基本设置案例:
export http_proxy=http://192.168.1.211:1080
export https_proxy=https://192.168.1.211:1080
//设置socks5代理
export http_proxy=socks5://192.168.1.211:1080
export https_proxy=socks5://192.168.1.211:1080
//需要密码的
export http_proxy=username:password@192.168.1.211:1080
删掉代理
export -n http_proxy
export -n https_proxy
export -n socks_proxy