背景

今天在安装grafanaprometheus,但是在下载下面3个镜像的时候却失败了,无论切换什么镜像源都无济于事,所以给大家介绍一种方案来下载国外镜像

quay.io/prometheus/alertmanager:v0.21.0
quay.io/prometheus/node-exporter:v1.1.2
quay.io/prometheus/prometheus:v2.26.0

解决方案

1、拉取镜像

登录https://labs.play-with-docker.com,首次登录需要可以使用dockerhub账户进行登录,登录完成之后点击Start按钮即可,如下:

在这里插入图片描述

点击+ ADD NEW INSTANCE按钮(注意:该网站只为我们保存4小时数据,所以需要及时传输镜像呢!),如下:

在这里插入图片描述

之后通过docker pull 镜像名称[:版本号]拉取镜像,例如:

在这里插入图片描述

2、下载镜像

2.1、使用tar包作为媒介(推荐,优先用这个,网速不好在用下面的)
2.1.1、保存镜像为tar包
# 命令
docker save -o XXX.tar 镜像名称:镜像版本
# 示例
docker save -o dinky.tar dinkydocker/dinky-standalone-server:0.7.4
2.1.2、使用xshell连接docker实验室服务器

首先复制ssh连接信息:

在这里插入图片描述

打开xshell,然后输入上面复制的内容,粘贴并回车,然后不需要输入密码,直接确定连接即可

2.1.3、将上面导入的tar包下载到本地
2.1.4、将下载到本地的tar包通过xshell传到虚拟机上
2.1.5、导入上传的tar包
# 命令
docker load -i XXX.tar
# 示例
docker load -i dinky.tar
2.2、使用阿里云作为传输介质(上面网速不好用这个)
2.2.1、创建阿里云镜像仓库

登录阿里云官网,搜索容器镜像服务,如下:

在这里插入图片描述

点击管理控制台,如下:

在这里插入图片描述

点击实例列表,选择个人实例,如下:

在这里插入图片描述

创建个人实例之后需要设置仓库密码,该密码用于镜像上传下载,这里不再指出。

创建命令空间,如下:

在这里插入图片描述
创建镜像仓库(建议:镜像仓库名称和镜像名称需要类似,便于识别镜像,例如:quay.io_prometheus_prometheus和镜像quay.io/prometheus/alertmanager对应),如下:
在这里插入图片描述

2.2.2、使用https://labs.play-with-docker.com下载镜像
2.2.3、将镜像上传到阿里云镜像仓库

点击阿里云镜像仓库下面的仓库名称,如下:

在这里插入图片描述

复制登录阿里云Docker Registry下面的内容,如下:

在这里插入图片描述

粘贴到https://labs.play-with-docker.com的控制台页面,如下:

在这里插入图片描述

点击回车键之后,输入我们为阿里云镜像仓库设置的密码就可以完成登录了

然后回到点击阿里云镜像仓库下面的仓库名称的页面,找到3. 将镜像推送到Registry,其中登录我们已经完成了,那么只需要完成下图红框框中的两步就可以了,其中[ImageId]就是镜像id(说明:可以通过docker images查看对应镜像id),而[镜像版本号]建议和真实的镜像版本号一致,其中[镜像版本号]对应阿里云中的镜像版本号;我们对红框框中的两行命令进行说明,第1行的作用是镜像重命名,为上传到阿里云镜像仓库做准备。第2行的作用是上传镜像到阿里云镜像仓库

在这里插入图片描述
之后我们就可以在阿里云镜像仓库看到对应版本的镜像了,如下:

在这里插入图片描述

2.2.4、从阿里云镜像仓库中拉取镜像到我们linux系统中

回到点击阿里云镜像仓库下面的仓库名称的页面,然后复制2. 从Registry中拉取镜像下面的命令用于拉取镜像,其中[镜像版本号]就是我们上传时设置的版本号,如下:

在这里插入图片描述

2.2.5、改变我们linux系统中拉取的镜像名称

通过docker tag 阿里云镜像名称:镜像版本号 国外镜像名称:镜像版本号命令进行改名操作,之后相当于完成了docker拉取国外镜像的任务了

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐