引言
- 本文主要介绍了几种提高Docker拉取速度的方法,包含设置配置文件以及其他第三方脚本。
- 背景:
- 使用
Docker pull拉取镜像很慢,经常拉取超时 - 服务器没有安装Docker客户端又要拉取容器镜像
- 使用
设置Docker配置文件
- Docker配置的Docker仓库默认是在国外的,这里就是进行配置镜像地址为国内的。
cd /etc/docker/首先进入docker安装位置(根据自己实际安装地址)vi daemon.json进行配置镜像地址
{
"registry-mirrors": [
"https://reg-mirror.qiniu.com",
"https://dockerhub.azk8s.cn"
]
}
- 想让使用七牛云或者其他国内镜像源务必将其放在前面第一位,以下为其他国内镜像源(部分哈,不是全部,有个能用的即可)
- 网易:
http://hub-mirror.c.163.com - 国内:
https://registry.docker-cn.com - 中国科技大学:
https://docker.mirrors.ustc.edu.cn - 阿里云:
https://aa25jngun.mirror.aliyuncs.com
- 网易:
使用第三方脚本
docker-drag
根据官网介绍:docker-drag 是一个用于与 Docker Hub 交互的工具,并且不需 Docker 客户端本身支持。它主要是通过与 Docker Hub 的 HTTPS API 进行交互来实现相应功能。
- 项目地址:docker-drag
- docker-drag 其实就是一个Python脚本,代码量也很小可以直接复制代码也可以用
wget下载 $ wget https://raw.githubusercontent.com/NotGlop/docker-drag/master/docker_pull.py- 仓库有演示动图,使用非常简单,拉取镜像后保存为一个tar文件,再
load进docker中变成镜像即可。docker load -i 压缩文件.tar
download-frozen-image-v2
- 类似的工具还有shell脚本工具:download-frozen-image-v2,其隶属于MOby项目
- 项目地址:moby
$ wget https://raw.githubusercontent.com/moby/moby/master/contrib/download-frozen-image-v2.shdownload-frozen-image-v2.sh target_dir image[:tag][@digest]
- 完整例子如下:
# 下载 Ubuntu 容器镜像
bash download-frozen-image-v2.sh ubuntu ubuntu:latest
# 需要自己手动打成 TAR 包
tar -C 'ubuntu' -cf 'ubuntu.tar' .
# 导入容器镜像
docker load -i ubuntu.tar
使用dp实现
dp 同样也是一个实现上述类似需求的小工具。dp 使用 Go 语言开发,天生具有良好的跨平台性。相对于前两个工具来说更容易在多平台上部署使用,而且 dp 还支持将多个镜像打包在一起。
- 项目地址:dp
- 貌似不更了,让去使用另一个工具,所以这个暂时作为一个方法标记吧,前面两个无法实现可以再考虑这个。