【Linux】nginx:alpine国内下载这个镜像无法顺畅下载,有什么好办法呢

🌹欢迎来到《小5讲堂》🌹

🌹这是《小程序》系列文章,每篇文章将以博主理解的角度展开讲解。🌹

🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!🌹

👨💻 作者简介

🏆 荣誉头衔:2024博客之星Top14 | CSDN博客专家 | 阿里云专家博主

🎤 经历 :曾多次进行线下演讲,亦是 CSDN内容合伙人 以及 新星优秀导师

💡 信念"帮助别人,成长自己!"

🚀 技术领域:深耕全栈,精通 .NET Core (C#)、Python、Java,熟悉主流数据库

🤝 欢迎交流:无论是基础概念还是进阶实战,都欢迎与我探讨!

目录

前言

工作十几年了,说实在的,很少使用linux服务器,因为一直使用的是C#,所以一直用的是windows全家桶,况且两者之间操作和使用习惯存在差异,刚开始使用起来确实挺不习惯了,一个是可视化,一个是命令式。

所以,需要积累一些常见操作,本次下载一些文件就遇到了无法顺利执行的情况。

方案一:配置镜像加速(推荐)

Linux 服务器

  1. 创建配置文件
bash 复制代码
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.m.daocloud.io",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
EOF
  1. 重启Docker生效
bash 复制代码
systemctl daemon-reload
systemctl restart docker
  1. 拉取镜像
bash 复制代码
docker pull nginx:alpine

Windows / Mac Docker Desktop

打开设置 → Docker Engine,粘贴配置:

json 复制代码
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.m.daocloud.io"
  ]
}

点击 Apply & Restart。


方案二:拉取国内镜像(临时应急)

1. 加速地址拉取并重命名

bash 复制代码
docker pull docker.1ms.run/nginx:alpine

修改镜像标签,原有Dockerfile无需改动:

bash 复制代码
docker tag docker.1ms.run/nginx:alpine nginx:alpine

2. 阿里云公共镜像(云服务器优选)

bash 复制代码
docker pull registry.cn-hangzhou.aliyuncs.com/library/nginx:alpine
docker tag registry.cn-hangzhou.aliyuncs.com/library/nginx:alpine nginx:alpine

方案三:修改Dockerfile绕过官方源

替换原有语句:

dockerfile 复制代码
FROM nginx:alpine

改为国内地址:

dockerfile 复制代码
FROM docker.1ms.run/nginx:alpine

适合网络较差的构建环境。


补充技巧

  1. 指定系统架构,防止拉取卡住
bash 复制代码
docker pull --platform linux/amd64 nginx:alpine
  1. 清理无用资源
bash 复制代码
docker system prune
  1. 内网离线迁移镜像
bash 复制代码
# 本地导出
docker save nginx:alpine -o nginx-alpine.tar
# 服务器导入
docker load -i nginx-alpine.tar

可用加速源

第一梯队(公网免费通用)

镜像地址 运营方 优点 注意事项
https://docker.xuanyuan.me 轩辕公益镜像 速度快、极少429报错,全国线路稳定 个人免费首选
https://docker.1ms.run 毫秒云 大镜像不容易中断,宝塔/NAS常用 免费额度充足
https://docker.mirrors.ustc.edu.cn 中科大开源镜像 高校公益,长期稳定 教育网速度极佳
https://docker.m.daocloud.io DaoCloud老牌源 兼容老版本Docker 高峰会限流

第二梯队(云服务器内网源)

  1. 腾讯云服务器:https://mirror.ccs.tencentyun.com,内网极速
  2. 阿里云服务器:登录阿里云ACR,生成专属私有加速地址(公网地址容易被限)
  3. 百度智能云:https://mirror.baidubce.com

第三梯队(备用兜底)

复制代码
https://hub-mirror.c.163.com
https://docker.nju.edu.cn
https://dockerproxy.com

镜像配置文件

daemon.json配置

路径:/etc/docker/daemon.json

json 复制代码
{
  "registry-mirrors": [
    "https://docker.xuanyuan.me",
    "https://docker.1ms.run",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.m.daocloud.io"
  ]
}

执行重启命令:

bash 复制代码
systemctl daemon-reload
systemctl restart docker

镜像拉取应急方案

方案1:拉取国内镜像并重命名

bash 复制代码
# 阿里云公共库
docker pull registry.cn-hangzhou.aliyuncs.com/library/nginx:alpine
# 重命名为官方名字,FROM nginx:alpine 直接命中本地镜像
docker tag registry.cn-hangzhou.aliyuncs.com/library/nginx:alpine nginx:alpine

方案2:修改Dockerfile地址

dockerfile 复制代码
# 替换原有 FROM nginx:alpine
FROM docker.1ms.run/nginx:alpine
# 备选地址
FROM docker.xuanyuan.me/library/nginx:alpine

问题排坑

1. 指定CPU架构,防止拉取超时

bash 复制代码
docker pull --platform linux/amd64 nginx:alpine

2. 网络拥堵处理

频繁超时可以切换手机热点,避开国际出口拥堵。

3. 内网离线部署

bash 复制代码
# 本地导出镜像
docker save nginx:alpine -o nginx.tar
# 服务器导入镜像
docker load -i nginx.tar