396

设置代理的一些方法

乐果   发表于   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
//设置socks代理
export http_proxy=socks://192.168.1.211:1080
export http_proxy=sock4://192.168.1.211:1080
export http_proxy=sock5://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

乐果   发表于   2024 年 06 月 12 日 标签:Dockerdebian

0

文章评论