为 Docker 添加国内代理

在 Debian 上拉取镜像时遇到网络问题,可以通过配置代理或镜像加速器来解决。这里为你提供两种最有效的方法,可以根据你的网络环境选择。 方法一:使用国内镜像加速器(推荐,配置简单) 这是最便捷的方法,通过修改 Docker 的配置文件来指定国内镜像源。 1. 创建或修改 Docker 配置文件 在

在 Debian 上拉取镜像时遇到网络问题,可以通过配置代理或镜像加速器来解决。这里为你提供两种最有效的方法,可以根据你的网络环境选择。

方法一:使用国内镜像加速器(推荐,配置简单)

这是最便捷的方法,通过修改 Docker 的配置文件来指定国内镜像源。

1. 创建或修改 Docker 配置文件

在终端中执行以下命令,创建或覆盖 /etc/docker/daemon.json​ 文件:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.xuanyuan.me",
    "https://docker.1ms.run",
    "https://docker.m.daocloud.io",
    "https://registry-1.docker.io"
  ]
}
EOF
  • 镜像源说明:上面配置了三个目前可用的国内镜像源,以及一个 Docker Hub 官方源作为兜底。列表中的 https://docker.xuanyuan.me​ 和 https://docker.1ms.run​ 是 2026 年实测速度较快的源。

  • 注意:URL 末尾不要添加斜杠 /​。

2. 重启 Docker 服务使配置生效

sudo systemctl daemon-reload
sudo systemctl restart docker

3. 验证配置是否生效

docker info | grep -A 3 "Registry Mirrors"

如果输出中包含了刚配置的镜像地址,说明配置成功。

4. 拉取镜像

现在可以正常拉取镜像了:

# 比如拉取 sun-panel 镜像
docker pull hslr/sun-panel:latest

方法二:为 Docker 守护进程配置 HTTP/HTTPS 代理

如果镜像加速器仍然无法满足需求(例如拉取的是私有仓库镜像),或者你已经有可用的代理服务器,可以为 Docker 守护进程配置代理。

1. 创建代理配置文件

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf

2. 写入代理信息

在打开的文件中,根据你的代理类型填入以下内容(请将 proxy.example.com:8080​ 替换为你实际的代理地址和端口):

HTTP 代理:

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8080"
Environment="HTTPS_PROXY=http://proxy.example.com:8080"
Environment="NO_PROXY=localhost,127.0.0.1"

SOCKS5 代理(如果你使用的是类似 Clash 的软件):

[Service]
Environment="HTTP_PROXY=socks5://127.0.0.1:7890"
Environment="HTTPS_PROXY=socks5://127.0.0.1:7890"
Environment="NO_PROXY=localhost,127.0.0.1"

​NO_PROXY​ 用于排除本地地址,避免本机通信也走代理。

3. 重新加载并重启 Docker

sudo systemctl daemon-reload
sudo systemctl restart docker

4. 验证代理是否生效

docker info | grep -i proxy

如果能看到你配置的代理信息,说明代理已生效。

评论