Skip to content

Docker 镜像源和代理配置

更新: 4/18/2025 字数: 0 字 时长: 0 分钟

Docker 国内镜像源

在拉取 Docker 镜像时,有时会遇到速度慢,甚至卡住不动的情况。

这通常是因为 Docker 默认的镜像源是 Docker Hub,由于地理位置原因,访问速度较慢。

就像 Ubuntu 更换国内软件源一样,我们可以为 Docker 配置国内镜像源,加速镜像下载。

以下是一些可用的 Docker 镜像仓库。

请注意,这些仓库的可用性和性能可能会有所不同。

建议尝试几个,找到最适合您所在地区的镜像源。

在使用前请务必确认这些镜像源是否仍然可用!

镜像仓库状态
docker.libk.top正常
hub.fast360.xyz正常
hub.rat.dev正常
hub.littlediary.cn正常
docker.kejilion.pro正常
dockerpull.cn正常
docker-0.unsee.tech正常
docker.tbedu.top正常
docker.1panelproxy.com正常
docker.melikeme.cn正常
cr.laoyou.ip-ddns.com正常
hub.firefly.store正常
docker.hlmirror.com正常
docker.m.daocloud.io正常
docker.1panel.live正常
image.cloudlayer.icu正常
docker.1ms.run新增

临时使用

对于单次拉取,您可以将镜像源 URL 添加到镜像名称的前面:

bash
docker pull docker.libk.top/istio/distroless

此命令从 docker.libk.top 镜像源拉取 istio/distroless 镜像(不要带 https://

永久配置

此方法配置 Docker 始终使用您指定的镜像源。

  1. 编辑 Docker Daemon 配置文件:

    Docker 的镜像源文件配置在 /etc/docker/daemon.json 处,如果没有的话我们就创建一个然后再修改

    bash
    sudo vim /etc/docker/daemon.json
  2. 添加镜像仓库:

    "registry-mirrors" 数组添加到 JSON 配置中。选择几个镜像源以实现冗余(要带 https://

    json
    {
        "registry-mirrors": [
            "https://docker.libk.top",
            "https://hub.fast360.xyz",
            "https://hub.rat.dev",
            "https://hub.littlediary.cn",
            "https://docker.kejilion.pro"
        ]
    }
  3. 重新加载并重启 Docker:

    bash
    sudo systemctl daemon-reload        #重启 daemon 进程
    sudo systemctl restart docker       #重启 docker
  4. 验证配置:

    bash
    docker info

    在长串 info 信息中如果出现类似下文的内容:

    txt
     Registry Mirrors:
      https://docker.libk.top/
      https://hub.fast360.xyz/
      https://hub.rat.dev/
      https://hub.littlediary.cn/
      https://docker.kejilion.pro/

    那就说明我们的 docker 国内镜像源修改成功了。

Docker 命令走代理

然而实际测试下来,就算我们修改成功了国内的镜像源,有时候由于国内镜像更新不及时,或者需要拉取的镜像比较冷门,只有域外镜像站才有,那么我们不得不让 docker pull 命令,走我们的代理。

  1. 创建 Docker Service 目录:

    我们在 Docker 的进程服务文件夹配置我们的代理设置,如果没有我们就新建这个文件夹:

    bash
    sudo mkdir /etc/systemd/system/docker.service.d
  2. 创建代理配置文件:

    docker.service.d 文件夹里新建我们的代理文件 proxy.conf

    bash
    sudo vim /etc/systemd/system/docker.service.d/proxy.conf
  3. 配置代理:

    HTTP_PROXYHTTPS_PROXY 环境变量添加到 proxy.conf 文件中

    txt
    [Service] 
    Environment="HTTP_PROXY=ip:port" 
    Environment="HTTPS_PROXY=ip:port"

    ip:port 替换为您的实际代理服务器地址和端口。

  4. 重新加载并重启 Docker:

    bash
    sudo systemctl daemon-reload        #重启 daemon 进程
    sudo systemctl restart docker       #重启 docker
  5. 验证配置:

    bash
    docker info

    在长串 info 信息中如果出现类似下文的内容:

    txt
     HTTP Proxy: ip:port
     HTTPS Proxy: ip:port

    那就说明我们已经成功设置 docker pull 命令走代理了,一般情况下也就不会出现拉取镜像卡死的情况了。

贡献者

The avatar of contributor named as wkwbk wkwbk

页面历史