🌹欢迎来到《小5讲堂》🌹
🌹这是《小程序》系列文章,每篇文章将以博主理解的角度展开讲解。🌹
🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!🌹
👨💻 作者简介🏆 荣誉头衔:2024博客之星Top14 | CSDN博客专家 | 阿里云专家博主
🎤 经历:曾多次进行线下演讲,亦是CSDN内容合伙人以及新星优秀导师
💡 信念:“帮助别人,成长自己!”
🚀 技术领域:深耕全栈,精通 .NET Core (C#)、Python、Java,熟悉主流数据库
🤝 欢迎交流:无论是基础概念还是进阶实战,都欢迎与我探讨!
目录
- 前言
- 方案一:配置镜像加速(推荐)
- Linux 服务器
- Windows / Mac Docker Desktop
- 方案二:拉取国内镜像(临时应急)
- 1. 加速地址拉取并重命名
- 2. 阿里云公共镜像(云服务器优选)
- 方案三:修改Dockerfile绕过官方源
- 补充技巧
- 可用加速源
- 第一梯队(公网免费通用)
- 第二梯队(云服务器内网源)
- 第三梯队(备用兜底)
- 镜像配置文件
- daemon.json配置
- 镜像拉取应急方案
- 方案1:拉取国内镜像并重命名
- 方案2:修改Dockerfile地址
- 问题排坑
- 1. 指定CPU架构,防止拉取超时
- 2. 网络拥堵处理
- 3. 内网离线部署
前言
工作十几年了,说实在的,很少使用linux服务器,因为一直使用的是C#,所以一直用的是windows全家桶,况且两者之间操作和使用习惯存在差异,刚开始使用起来确实挺不习惯了,一个是可视化,一个是命令式。
所以,需要积累一些常见操作,本次下载一些文件就遇到了无法顺利执行的情况。
方案一:配置镜像加速(推荐)
Linux 服务器
- 创建配置文件
mkdir-p/etc/dockertee/etc/docker/daemon.json<<-'EOF' { "registry-mirrors": [ "https://docker.1ms.run", "https://docker.m.daocloud.io", "https://docker.mirrors.ustc.edu.cn" ] } EOF- 重启Docker生效
systemctl daemon-reload systemctl restartdocker- 拉取镜像
dockerpull nginx:alpineWindows / Mac Docker Desktop
打开设置 → Docker Engine,粘贴配置:
{"registry-mirrors":["https://docker.1ms.run","https://docker.m.daocloud.io"]}点击 Apply & Restart。
方案二:拉取国内镜像(临时应急)
1. 加速地址拉取并重命名
dockerpull docker.1ms.run/nginx:alpine修改镜像标签,原有Dockerfile无需改动:
dockertag docker.1ms.run/nginx:alpine nginx:alpine2. 阿里云公共镜像(云服务器优选)
dockerpull registry.cn-hangzhou.aliyuncs.com/library/nginx:alpinedockertag registry.cn-hangzhou.aliyuncs.com/library/nginx:alpine nginx:alpine方案三:修改Dockerfile绕过官方源
替换原有语句:
FROM nginx:alpine改为国内地址:
FROM docker.1ms.run/nginx:alpine适合网络较差的构建环境。
补充技巧
- 指定系统架构,防止拉取卡住
dockerpull--platformlinux/amd64 nginx:alpine- 清理无用资源
dockersystem prune- 内网离线迁移镜像
# 本地导出dockersave nginx:alpine-onginx-alpine.tar# 服务器导入dockerload-inginx-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
{"registry-mirrors":["https://docker.xuanyuan.me","https://docker.1ms.run","https://docker.mirrors.ustc.edu.cn","https://docker.m.daocloud.io"]}执行重启命令:
systemctl daemon-reload systemctl restartdocker镜像拉取应急方案
方案1:拉取国内镜像并重命名
# 阿里云公共库dockerpull registry.cn-hangzhou.aliyuncs.com/library/nginx:alpine# 重命名为官方名字,FROM nginx:alpine 直接命中本地镜像dockertag registry.cn-hangzhou.aliyuncs.com/library/nginx:alpine nginx:alpine方案2:修改Dockerfile地址
# 替换原有 FROM nginx:alpine FROM docker.1ms.run/nginx:alpine # 备选地址 FROM docker.xuanyuan.me/library/nginx:alpine问题排坑
1. 指定CPU架构,防止拉取超时
dockerpull--platformlinux/amd64 nginx:alpine2. 网络拥堵处理
频繁超时可以切换手机热点,避开国际出口拥堵。
3. 内网离线部署
# 本地导出镜像dockersave nginx:alpine-onginx.tar# 服务器导入镜像dockerload-inginx.tar