原创

阿里云ECS服务器折腾Docker镜像源地址修改记录

最近在测试阿里云ECS服务器上安装docker后拉取镜像失败,提示如下:

这个我们熟悉,是因为国内无法访问docker的官方的镜像源,所以需要将docker的镜像源修改为国内的加速地址。

1.获取加速地址

因为使用的服务器是阿里云的ECS,所以我们使用阿里云提供的镜像源。

根据阿里云教程,我们需要登录阿里云的容器镜像服务控制台:https://cr.console.aliyun.com/获取加速地址。

登录后点击镜像工具->镜像加速器:

获取镜像源地址:


因为阿里云会为每个用户单独生成一个加速地址,生成的镜像源地址格式为https://{your_id}.mirror.aliyuncs.com

2.修改docker配置文件

docker配置文件地址为/etc/docker/daemon.json,如果没有该文件需要手动创建:

touch /etc/docker/daemon.json

直接创建会因为没有docker目录报错,所以需要先创建目录:

mkdir -p /etc/docker

然后创建文件:

touch /etc/docker/daemon.json

创建成功后通过vi命令编辑文件:

vi /etc/docker/daemon.json

新增下面配置:

{
  "registry-mirrors": ["https://{your_id}.mirror.aliyuncs.com"]
}

编辑完成后输入:wq!保存文件。

3.重启docker服务

更新配置文件:

systemctl daemon-reload

重启docker服务:

systemctl restart docker

4.测试拉取镜像(拉取失败)

重启完成后就可以拉取镜像测试了:

尝试了很多次,每次都拉取到一半失败,我们找阿里云AI助理咨询:

根据上面的提示,阿里云镜像加速器功能大概率已经停止服务了,而ACR服务仅有企业版支持制品订阅服务可以订阅海外源,个人版只能自己上传镜像,太麻烦了,到这里就可以宣布本次折腾基本算是失败了。

5.其他解决方案

因为还是想要使用docker部署,这样我们就只能尝试使用其他镜像源了,但是找了一圈,国内的镜像源几乎都不可用了。现在测试只有腾讯云的镜像源可以在腾讯云服务器内网使用。所以现在就有了临时的解决方案:先在腾讯云将镜像拉取下来,然后保存导入到阿里云服务器。

具体操作流程如下:

#拉取最新镜像(腾讯云):
docker pull matomo:latest

#查看已有镜像(腾讯云):
docker images

#保存本地镜像(腾讯云):
docker save matomo:latest -o matomo.tar

#上传到阿里云:
scp matomo.tar root@ip:/data/soft

#导入本地镜像(阿里云):
docker load -i matomo.tar

#运行镜像(阿里云):
docker run --restart=always --name matomo -p 8080:80 -v /data/matomo:/var/www/html matomo

完工,凑合着用吧。


扩展说明:

1.腾讯云镜像地址(只能在腾讯云服务器内网使用):https://mirror.ccs.tencentyun.com
2.docker安装参考:Linux网络隔离环境安装docker
正文到此结束
本文目录