sh 用于保存所有docker镜像的脚本,并将其加载回来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 用于保存所有docker镜像的脚本,并将其加载回来相关的知识,希望对你有一定的参考价值。


reload() {
  source ${BASH_SOURCE[0]}
}
alias r=reload

get-image-field() {
  local imageId=$1
  local field=$2
  : ${imageId:? reuired}
  : ${field:? required}

  docker images --no-trunc|sed -n "/${imageId}/ s/ \+/ /gp"|cut -d" " -f $field
}

get-image-name() {
  get-image-field $1 1
}

get-image-tag() {
  get-image-field $1 2
}

save-all-image() {
  local ids=$(docker images -q)
  local name safename tag

  for id in $ids; do
    name=$(get-image-name $id)
    tag=$(get-image-tag $id)
    if [[  $name =~ / ]] ; then
       dir=${name%/*}
       mkdir -p $dir
    fi
    echo [DEBUG] save $name:$tag ...
    (time  docker save -o $name.$tag.dim $name:$tag) 2>&1|grep real
  done
}

load-all-image() {
  local name safename noextension tag

  for image in $(find . -name \*.dim); do
    echo [DEBUG] load
    tar -Oxf $image repositories
    echo
    docker load -i $image
  done
}

以上是关于sh 用于保存所有docker镜像的脚本,并将其加载回来的主要内容,如果未能解决你的问题,请参考以下文章

sh 简单的bash脚本,用于获取并将执行文件夹中的所有repos拉到它们所在的最新分支

sh 用于清理docker镜像,容器和停止运行容器的文件

sh 此脚本清除Docker.qcow2文件,该文件使用Docker For Mac占用大量磁盘空间。您可以指定一些您想要的Docker镜像

sh 此脚本清除Docker.qcow2文件,该文件使用Docker For Mac占用大量磁盘空间。您可以指定一些您想要的Docker镜像

sh 用于通过letsencrypt的docker镜像更新docker nginx代理中的letsencrypt证书的模板

Docker镜像批量导入