起因
由于教学需求,经常需要在多个 k8s 版本间切换。总所周知,kubeadm 的镜像问题需要给学生提供,所以编写了一个工具,帮助我进行镜像的打包下载、导入等,支持远程执行
下载方法
Linux 平台
wget https://cloudmessage.top/upload/2022/11/dockertools-de953437c3e74d978bd0562605633a72.
windows 平台
https://cloudmessage.top/upload/2022/11/dockertools-5a23e3d5761c405e82243484e144f173.exe
其它平台暂不提供,如果需要可 clone 项目,自行编译
使用方法
一、连接 dockertools 方式
第一种:本地连接
将 dockertools 上传至对应的 Docker 服务器端直接使用命令即可
[root@localhost dockertools]# ./dockertools save -r "wangyanglinux/myapp:v[1-3]" -s "images"
has dir![images]
[wangyanglinux/myapp:v1 wangyanglinux/myapp:v3 wangyanglinux/myapp:v2]
输入匹配的镜像列表是否满足要求:(Y/N)
y
文件已成功保存! images/wangyanglinux-myapp-v1.tar
文件已成功保存! images/wangyanglinux-myapp-v3.tar
文件已成功保存! images/wangyanglinux-myapp-v2.tar
第二种:进行远程连接(通过网络将远程的 DockerServer 中的功能进行使用)
1、开启 DockerServer 的远程连接, 通过选项 -h 192.168.66.11:2375 指定远程 DockerServer 端口,开启 DockerServer 远程连接的方法为修改
/usr/lib/systemd/system/docker.service 文件中的 ExecStart=/usr/bin/dockerd -H tcp://192.168.66.11:2375 -H fd:// --containerd=/run/containerd/containerd.sock
2、远程执行命令
dockertools.exe save -a 192.168.66.11:2375 -r "wangyanglinux/myapp:v[1-3]" -s "./image"
二、功能讲解
第一种:通过正则表达式匹配镜像,保存至指定目录
$ ./dockertools save -a 192.168.66.11:2375 -r "wangyanglinux/myapp:v[1-3]" -s "./image"
$ ./dockertools save -r "wangyanglinux/myapp:v[1-3]" -s "images"
$ ./dockertools save -h # 查看帮助信息
第二种:指定目录镜像镜像导入,支持单文件以及目录
$ ./dockertools load -l "./images" -a "192.168.66.11:2375"
$ ./dockertools load -l "./images"
$ ./dockertools load -h
第三种:查询镜像拥有的可用标签信息
[root@localhost dockertools]# ./dockertools searchtag -i mysql -n 20 -t "5"
TAG SIZE(MB) LASTPUSH
8.0.25 154 2021-06-23T07:31:50Z
5.7.38-oracle 121 2022-07-13T07:04:55Z
5.7.38-debian 154 2022-07-12T02:09:36Z
5.7.38 121 2022-07-13T07:04:53Z
5.7.37-oracle 119 2022-03-31T02:30:07Z
5.7.37-debian 148 2022-04-20T10:23:20Z
5.7.37 148 2022-04-20T10:23:18Z
5.7.36 147 2021-12-21T03:15:51Z
5.7.35 147 2021-10-12T16:42:35Z
5.7.34 147 2021-06-23T07:31:34Z
5.7.33 147 2021-04-10T07:42:35Z
5.7.32 147 2021-01-12T10:33:14Z
5.7-oracle 121 2022-07-13T07:04:51Z
5.7-debian 154 2022-07-12T02:09:28Z
5.7 121 2022-07-13T07:04:48Z
5.6.51 98 2021-12-21T03:15:45Z
5.6 98 2021-12-21T03:15:44Z
5-oracle 121 2022-07-13T07:04:45Z
5-debian 154 2022-07-12T02:09:20Z
5 121 2022-07-13T07:04:42Z
- -i:指定要搜索的仓库名,即传统意义上的镜像名
- -n:指定检索便签的数量大小
- -t:指定要匹配的便签名称必须包含此关键字
评论区