1. 先确认你当前是否已经配置过镜像加速

执行以下命令,查看 Docker 当前配置:

sudo cat /etc/docker/daemon.json

如果显示 No such file or directory 或该文件内没有 "registry-mirrors" 字段,说明未配置,请直接执行第 2 步。

如果已有配置但拉取还是失败,可能是镜像源不可用或格式错误(比如漏了逗号、方括号),请重新按第 2 步覆盖写入。

2. 写入可用的镜像加速器(推荐两个稳定源)

执行下面命令,直接覆盖生成正确的配置文件:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.1ms.run"
  ]
}
EOF

3. 重启 Docker 服务(必须)

sudo systemctl daemon-reload
sudo systemctl restart docker

4. 验证配置是否生效

sudo docker info | grep -A 1 "Registry Mirrors"

如果输出类似下面这样,说明配置成功:

Registry Mirrors:
 https://docker.m.daocloud.io/

5. 重新拉取镜像(建议先手动拉取一次测试)

现在再试一次拉取那个失败的镜像:

sudo docker pull ubuntu/squid:latest

如果速度变快并能成功拉取,说明加速器生效了。接着再执行 sudo docker compose up -d 应该就能顺利启动。

更多推荐