如何更新所有的Docker镜像

920 阅读1分钟

目前,Docker没有一个命令来做这件事,所以我们将不得不做一些老式的命令管道。

自动更新所有镜像。

docker images | grep -v REPOSITORY | awk '{print $1}' | xargs -L1 docker pull

Docker不会为我们覆盖旧的镜像。清理旧的镜像

docker images | grep "<none>" | awk '{print $3}' | xargs -L1 docker rmi

请注意,你必须等待更新过程的完成。下面是每个命令的摘要...

  • docker images 列出系统中的所有镜像
  • grep -v REPOSITORY 删除标题 "REPOSITORY TAG IMAGE ID....."
  • awk '{print $1'} 打印第一列,即图像名称
  • xargs -L1 docker pull 将每一行传递给命令docker pull