由于 Docker Hub 在某些地区可能无法正常访问,可以通过配置阿里云的镜像加速器来解决这个问题。
常用的容器镜像加速地址
##腾讯
https://mirror.ccs.tencentyun.com
##网易
https://hub-mirror.c.163.com
没有配置之前的使用状态
配置前docker 检查如下
一、配置阿里云镜像加速器
- 注册并登录阿里云账号: 访问阿里云官网(https://www.aliyun.com),注册并登录你的账号。
- 获取镜像加速器地址:
登录后,访问阿里云容器镜像服务,在“镜像加速器”页面获取你的加速器地址,例如:
https://<你的加速器地址>.mirror.aliyuncs.com
。 - 配置 Docker 使用镜像加速器:
编辑 Docker 的配置文件daemon.json
,添加镜像加速器地址。这个文件通常位于/etc/docker/daemon.json
。如果该文件不存在,可以新建一个。
mkdir -p /etc/docker
cat > /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["ckdhnbk9.mirror.aliyuncs.com"]
}
EOF
- 重启 Docker 服务:
systemctl daemon-reload
systemctl restart docker
二、下载 Nginx 镜像
- 验证配置: 确认 Docker 镜像加速器配置成功,执行以下命令,检查 Docker 的配置信息:
docker info
你应该能在输出的 Registry Mirrors
部分看到配置的阿里云加速器地址。
- 拉取 Nginx 镜像:
docker pull nginx
由于配置了镜像加速器,Docker 会通过阿里云的镜像源来拉取 Nginx 镜像,加快下载速度并解决被墙问题。
三、完整bash脚本
以下是一个完整的示例,包括所有命令,提供阿里、腾讯、网易三个厂商加速地址:
# 创建 Docker 配置目录(如果不存在)
mkdir -p /etc/docker
# 创建并编辑 daemon.json 文件,配置阿里云镜像加速器
cat > /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://ckdhnbk9.mirror.aliyuncs.com",
"https://mirror.ccs.tencentyun.com",
"https://hub-mirror.c.163.com"]
}
EOF
# 重新加载并重启 Docker 服务
systemctl daemon-reload
systemctl restart docker
# 检查 Docker 信息,确认配置成功
docker info
# 拉取 Nginx 镜像
docker pull nginx
也可以替换为你从阿里云容器镜像服务获取的加速器地址,或者你信任的容器镜像源。通过这些步骤,你应该能够正常下载 Nginx 镜像并解决 Docker Hub 被墙的问题。