具体脚本
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 ];thenecho -e "\033[41;33m 请输入正确命令: \033[0m"echo "开启代理命令:$0 0"echo "关闭代理命令:$0 1"exit 1
fiopenDockerProxy() {
sed -i '/^\[Service\]$/ a '"$httpipp"' ' /usr/lib/systemd/system/docker.service
sed -i '/^\[Service\]$/ a '"$httpsipp"' ' /usr/lib/systemd/system/docker.servicesystemctl daemon-reload
systemctl restart dockerecho -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.servicesystemctl daemon-reload
systemctl restart dockerecho -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.servicesystemctl daemon-reload
systemctl restart containerdecho "\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.servicesystemctl daemon-reload
systemctl restart containerdecho "\033[31m containerd_proxy close \033[0m"
}if [ -e /etc/containerd/config.toml ];thencase $1 in"0")echo "正在开启containerd代理..."openContainerdProxy;;"1")echo "正在清理containerd代理..."closeConatinerdProxy;;esac
elsecase $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 ProxyHTTP Proxy: http://10.0.0.1:7897/HTTPS Proxy: http://10.0.0.1:7897/