【后端】【Docker】 Docker 动态代理 & 取消代理完整脚本合集(Ubuntu)
脚本操作命令设置代理取消代理。
·
🚀 Docker 动态代理 & 取消代理完整脚本合集(Ubuntu)
一、动态设置 Docker 代理脚本
支持自定义输入代理地址和端口!
📄 脚本内容(保存为 set_docker_proxy.sh
)
#!/bin/bash
# 读取用户输入
read -p "请输入代理IP(默认127.0.0.1): " PROXY_IP
read -p "请输入代理端口(默认7890): " PROXY_PORT
# 如果没有输入,设置默认值
PROXY_IP=${PROXY_IP:-127.0.0.1}
PROXY_PORT=${PROXY_PORT:-7890}
echo "🔧 正在配置 Docker 代理为:${PROXY_IP}:${PROXY_PORT}"
# 创建配置目录
sudo mkdir -p /etc/systemd/system/docker.service.d
# 写入代理配置
sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf > /dev/null <<EOF
[Service]
Environment="HTTP_PROXY=http://${PROXY_IP}:${PROXY_PORT}/"
Environment="HTTPS_PROXY=http://${PROXY_IP}:${PROXY_PORT}/"
Environment="NO_PROXY=localhost,127.0.0.1"
EOF
# 配置 DNS
echo "🔧 正在配置 Docker DNS..."
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
"dns": ["8.8.8.8", "8.8.4.4"]
}
EOF
# 重启 Docker
echo "🔄 正在重启 Docker..."
sudo systemctl daemon-reload
sudo systemctl restart docker
echo "✅ Docker 代理设置完成!🚀"
二、取消 Docker 代理脚本
一键取消代理,让 Docker 恢复正常直连模式。
📄 脚本内容(保存为 unset_docker_proxy.sh
)
#!/bin/bash
echo "🧹 正在取消 Docker 代理配置..."
# 删除代理配置文件
sudo rm -f /etc/systemd/system/docker.service.d/http-proxy.conf
# 清空 daemon.json 中的 DNS(可选,根据实际情况选择是否删除)
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{}
EOF
# 重启 Docker
echo "🔄 正在重启 Docker..."
sudo systemctl daemon-reload
sudo systemctl restart docker
echo "✅ Docker 代理已取消!🚀"
三、使用方法总结
操作 | 命令 |
---|---|
设置代理 | bash set_docker_proxy.sh |
取消代理 | bash unset_docker_proxy.sh |
更多推荐
所有评论(0)