Docker配置网络代理拉取镜像
第一部分:创建目录并写入代理配置文件
mkdir -p /etc/systemd/system/docker.service.d && tee /etc/systemd/system/docker.service.d/proxy.conf > /dev/null << 'EOF'
[Service]
#Environment="HTTP_PROXY=socks5://172.16.2.30:7897/"
#Environment="HTTPS_PROXY=socks5://172.16.2.30:7897/"
Environment="HTTP_PROXY=http://172.16.2.30:7897/"
Environment="HTTPS_PROXY=http://172.16.2.30:7897/"
# 可选:添加NO_PROXY排除内网地址
#Environment="NO_PROXY=localhost,127.0.0.1,172.16.0.0/12,192.168.0.0/16"
EOF
-
mkdir -p /etc/systemd/system/docker.service.dmkdir:创建目录的命令-p:递归创建目录,如果上级目录不存在会自动创建;如果目录已存在,不会报错- 路径说明:
/etc/systemd/system/docker.service.d是 systemd 为 docker 服务配置自定义参数的官方目录,systemd 会自动加载该目录下的.conf文件
-
&&- Shell 中的逻辑运算符,表示前一个命令执行成功后,才执行后面的命令
- 作用:确保目录创建成功后,再写入配置文件
-
tee /etc/systemd/system/docker.service.d/proxy.conf > /dev/nulltee:读取标准输入并写入指定文件,同时输出到标准输出> /dev/null:将 tee 原本要输出到终端的内容重定向到空设备(丢弃),避免终端刷屏- 作用:将后续的 EOF 之间的内容写入到
proxy.conf文件中
-
<< 'EOF' ... EOF(Here Document 语法)<< 'EOF':表示读取后续内容直到遇到EOF为止,单引号'表示里面的内容原样输出(不解析变量、转义字符等)- 配置内容说明:
[Service]:systemd 配置文件的区块标识,表示这些配置应用于服务的运行时环境Environment:设置环境变量的指令,这里用于配置 Docker 服务的网络代理- 注释掉的行(
#开头):是备用的代理配置,你可以根据实际情况取消注释使用 - 生效的配置:
HTTP_PROXY=http://172.16.2.30:7897/和HTTPS_PROXY=http://172.16.2.30:7897/是当前启用的 HTTP/HTTPS 代理地址 NO_PROXY:可选配置,用于指定不需要走代理的地址(内网、本地地址等)
第二部分:重新加载配置并重启 Docker
# 重新加载systemd配置
systemctl daemon-reload
# 重启Docker服务
systemctl restart docker
# 检查Docker状态
systemctl status docker
-
systemctl daemon-reload- 作用:让 systemd 重新加载所有服务配置文件(包括刚创建的 proxy.conf)
- 注意:修改 systemd 配置后必须执行此命令,否则新配置不会生效
-
systemctl restart docker- 重启 Docker 服务,使新的代理环境变量生效
- 执行后 Docker 服务会先停止,再启动
-
systemctl status docker- 查看 Docker 服务的当前状态
- 输出内容包含:
- 服务是否正在运行(active (running))
- 服务启动时间
- 进程 ID(PID)
- 最近的日志信息(可排查启动失败问题)
阅读剩余
版权声明:
作者:SE_You
链接:https://www.cnesa.cn/10149.html
文章版权归作者所有,未经允许请勿转载。
THE END
阿里云ECS服务器 - 限时特惠活动
云服务器爆款直降90%
新客首单¥68起 | 人人可享99元套餐,续费同价 | u2a指定配置低至2.5折1年,立即选购享更多福利!
新客首单¥68起
人人可享99元套餐
弹性计费
7x24小时售后