批量导入Docker镜像 (tar)
Haiya Lv3

概述

当前目录下存在多个 Docker 镜像文件,需要批量导入到 Docker 中。

Shell

1
ll | awk '{print $NF}' | sed -r 's#(.*)#docker load -i \1#' | bash

命令解释

  1. 使用 ls 命令列出当前目录下的所有文件和目录。
  2. 将 ls 命令的输出通过管道符 | 传递给 awk 命令。
  3. awk 命令指定打印每行的最后一个字段,也就是 Docker 镜像文件的名称。
  4. 将 awk 命令的输出通过管道符 | 传递给 sed 命令。
  5. sed 命令使用正则表达式,将每个 Docker 镜像文件名作为参数构造出 docker load 命令,并将这些命令输出到标准输出。
  6. 将 sed 命令的输出通过管道符 | 传递给 bash 命令。
  7. bash 命令执行标准输入中的所有命令,实现自动加载 Docker 镜像。

扩展

以下内容请自行验证

如果当前目录下存在非 tar 扩展名的文件,可以使用 find 命令过滤。

1
find . -name "*.tar" -exec docker load -i {} \;
由 Hexo 驱动 & 主题 Keep