🌹欢迎来到《小5讲堂》🌹
🌹这是《小程序》系列文章,每篇文章将以博主理解的角度展开讲解。🌹
🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!🌹
👨💻 作者简介
🏆 荣誉头衔:2024博客之星Top14 | CSDN博客专家 | 阿里云专家博主
🎤 经历 :曾多次进行线下演讲,亦是 CSDN内容合伙人 以及 新星优秀导师
💡 信念 :"帮助别人,成长自己!"
🚀 技术领域:深耕全栈,精通 .NET Core (C#)、Python、Java,熟悉主流数据库
🤝 欢迎交流:无论是基础概念还是进阶实战,都欢迎与我探讨!

目录
- 前言
- 方案一:配置镜像加速(推荐)
-
- [Linux 服务器](#Linux 服务器)
- [Windows / Mac Docker Desktop](#Windows / Mac Docker Desktop)
- 方案二:拉取国内镜像(临时应急)
-
- [1. 加速地址拉取并重命名](#1. 加速地址拉取并重命名)
- [2. 阿里云公共镜像(云服务器优选)](#2. 阿里云公共镜像(云服务器优选))
- 方案三:修改Dockerfile绕过官方源
- 补充技巧
- 可用加速源
- 镜像配置文件
- 镜像拉取应急方案
- 问题排坑
-
- [1. 指定CPU架构,防止拉取超时](#1. 指定CPU架构,防止拉取超时)
- [2. 网络拥堵处理](#2. 网络拥堵处理)
- [3. 内网离线部署](#3. 内网离线部署)
前言
工作十几年了,说实在的,很少使用linux服务器,因为一直使用的是C#,所以一直用的是windows全家桶,况且两者之间操作和使用习惯存在差异,刚开始使用起来确实挺不习惯了,一个是可视化,一个是命令式。
所以,需要积累一些常见操作,本次下载一些文件就遇到了无法顺利执行的情况。
方案一:配置镜像加速(推荐)
Linux 服务器
- 创建配置文件
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
- 重启Docker生效
bash
systemctl daemon-reload
systemctl restart docker
- 拉取镜像
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
适合网络较差的构建环境。
补充技巧
- 指定系统架构,防止拉取卡住
bash
docker pull --platform linux/amd64 nginx:alpine
- 清理无用资源
bash
docker system prune
- 内网离线迁移镜像
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 | 高峰会限流 |
第二梯队(云服务器内网源)
- 腾讯云服务器:
https://mirror.ccs.tencentyun.com,内网极速 - 阿里云服务器:登录阿里云ACR,生成专属私有加速地址(公网地址容易被限)
- 百度智能云:
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