Docker pull 经常因为网络原因导致下载很慢,如果镜像源是 Docker Hub 则很好解决,因为 Docker 官方就提供加速镜像。但是遇到第三方镜像就不好解决了,本文主要解决第三方镜像 docker pull 的速度问题, 比如说 elk 的 docker 镜像。
一、先说 Docker Hub 的加速方法
1
2
3
4
5
6
7
8
9
|
# 直接添加配置文件后,重启 docker 服务即可
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
```二、第三方镜像加速方法,其原理是:使用国内的 docker 镜像构建服务,来构建一个私有镜像,下面以在阿里云构建 ELK 为例:
1. 首先在 阿里云[代码托管中心](https://code.aliyun.com/)创建 git 项目 (github也可以),并创建 Dockerfile,内容如下
[![](https://statics.lshell.com/code-aliyun-elasticsearch.png)](https://statics.lshell.com/code-aliyun-elasticsearch.png)
|
from docker.elastic.co/elasticsearch/elasticsearch:7.4.2
1
2
3
4
5
6
|
[![](https://statics.lshell.com/aliyun-cr-create-docker-mirror-01.png)](https://statics.lshell.com/aliyun-cr-create-docker-mirror-01.png)
为了达到最好的速度,这里**建议勾选海外构建**
[![](https://statics.lshell.com/aliyun-cr-create-docker-mirror-02.png)](https://statics.lshell.com/aliyun-cr-create-docker-mirror-02.png)
3. 添加构建规则
[![](https://statics.lshell.com/aliyun-cr-create-docker-mirror-03.png)](https://statics.lshell.com/aliyun-cr-create-docker-mirror-03.png)
4. 构建成功后,按照当前镜像中的基本信息中的代码进行 pull 到本地
|
先登录到阿里云
docker login –username=xxxxx@aliyun.com registry.cn-hangzhou.aliyuncs.com
拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/xxx-elk/elasticsearch:7.4.2