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/