docker&containerd代理设置脚本

具体脚本

root@ubuntu-21:~# cat RQproxy.sh
#!/bin/bash
#用于docker或者containerd开启代理

#####################修改成自己的代理的ip+port###########################
httpipp='Environment="HTTP_PROXY=http://10.0.0.1:7897/"'
httpsipp='Environment="HTTPS_PROXY=http://10.0.0.1:7897/"'
######################################################################

if [ $# -eq 0 ];then
    echo -e "\033[41;33m 请输入正确命令: \033[0m"
    echo "开启代理命令:$0 0"
    echo "关闭代理命令:$0 1"
    exit 1
fi


openDockerProxy() {
sed -i '/^\[Service\]$/ a '"$httpipp"'    '  /usr/lib/systemd/system/docker.service
sed -i '/^\[Service\]$/ a '"$httpsipp"'    '  /usr/lib/systemd/system/docker.service

systemctl daemon-reload
systemctl restart docker

echo -e "\033[32m docker_proxy open \033[0m"

}
closeDockerProxy() {
sed -i '\|Environment="HTTP_PROXY=http://10.0.0.1:7897/"| d '  /usr/lib/systemd/system/docker.service
sed -i '\|Environment="HTTPS_PROXY=http://10.0.0.1:7897/"| d '  /usr/lib/systemd/system/docker.service

systemctl daemon-reload
systemctl restart docker

echo -e "\033[31m docker_proxy close \033[0m"
}


openContainerdProxy() {
sed -i '/^\[Service\]$/ a '"$httpipp"'    '  /usr/lib/systemd/system/containerd.service
sed -i '/^\[Service\]$/ a '"$httpsipp"'    '  /usr/lib/systemd/system/containerd.service

systemctl daemon-reload
systemctl restart containerd

echo "\033[32m containerd_proxy \033[0m"

}
closeConatinerdProxy() {
sed -i '\|Environment="HTTP_PROXY=http://10.0.0.1:7897/"| d '  /usr/lib/systemd/system/containerd.service
sed -i '\|Environment="HTTPS_PROXY=http://10.0.0.1:7897/"| d '  /usr/lib/systemd/system/containerd.service

systemctl daemon-reload
systemctl restart containerd

echo "\033[31m containerd_proxy close \033[0m"
}

if  ! pgrep -f "cri-docker" > /dev/null 2>&1   ;then
	 case $1 in
             "0")
                echo "正在开启containerd代理..."
                openContainerdProxy
		;;

             "1")
                echo "正在清理containerd代理..."
                closeConatinerdProxy
                ;;

             esac
else

         case $1 in
             "0")
                echo "正在开启docker代理..."
                openDockerProxy
                ;;
             "1")
                echo "正在清理docker代理..."
                closeDockerProxy
                ;;

         esac
fi

使用验证

加权限:
chmod +x RQproxy.sh
执行:
./RQproxy.sh 0 #开启代理
./RQproxy.sh 1 #关闭代理
验证:
root@ubuntu-21:~# docker info | grep Proxy
 HTTP Proxy: http://10.0.0.1:7897/
 HTTPS Proxy: http://10.0.0.1:7897/
posted @ 2025-10-08 16:50  于之亦木  阅读(4)  评论(0)    收藏  举报