共计 696 个字符,预计需要花费 2 分钟才能阅读完成。
现在情况是,在国内 dockerhub 无法正常访问,之前还能拉取镜像,现在拉取镜像都拉不了,阿蛮君也不知道什么情况。
但是又发现腾讯云服务器似乎拉得挺快,于是有了通过服务器拉取镜像,然后将镜像拷贝到本地并加载的想法。
手动操作太麻烦,将操作写成了脚本,需要的自取,替换相关变量即可使用。
#!/bin/bash
# 定义变量
image_name=$1
user=root
password="123456"
host=localhost
port=22 # 指定远程服务器的端口号,根据需要更改
tmp_dir="/tmp"
tmp_img_name="tmp.tar"
# 下载镜像
sshpass -p $password ssh -p $port $user@$host "cd $tmp_dir && rm -rf $tmp_img_name && docker pull $image_name && docker save $image_name -o $tmp_img_name"
# 拷贝镜像
sshpass -p $password scp -P $port $user@$host:$tmp_dir/$tmp_img_name $tmp_dir
# 加载镜像
docker load -i $tmp_dir/$tmp_img_name && rm -rf $tmp_dir/$tmp_img_name
# 删除远程镜像
sshpass -p $password ssh -p $port $user@$host "cd $tmp_dir && rm -rf $tmp_img_name && docker rmi -f $image_name"
将脚本命名为 docker-pull.sh,并放在 /usr/bin
目录下。
使用效果如图:
提醒:本文发布于533天前,文中所关联的信息可能已发生改变,请知悉!
AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完