批量导入Docker镜像 (tar)
概述
当前目录下存在多个 Docker 镜像文件,需要批量导入到 Docker 中。
Shell
1 | ll | awk '{print $NF}' | sed -r 's#(.*)#docker load -i \1#' | bash |
命令解释
- 使用 ls 命令列出当前目录下的所有文件和目录。
- 将 ls 命令的输出通过管道符 | 传递给 awk 命令。
- awk 命令指定打印每行的最后一个字段,也就是 Docker 镜像文件的名称。
- 将 awk 命令的输出通过管道符 | 传递给 sed 命令。
- sed 命令使用正则表达式,将每个 Docker 镜像文件名作为参数构造出 docker load 命令,并将这些命令输出到标准输出。
- 将 sed 命令的输出通过管道符 | 传递给 bash 命令。
- bash 命令执行标准输入中的所有命令,实现自动加载 Docker 镜像。
扩展
以下内容请自行验证
如果当前目录下存在非 tar 扩展名的文件,可以使用 find 命令过滤。
1 | find . -name "*.tar" -exec docker load -i {} \; |