抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

整理常用的Docker 命令,做学习使用,持续更新

导出镜像

  1. 使用docker save命令
    找到你想要导出的镜像,然后使用以下命令:

    1
    docker save -o myimage.tar my-username/my-image:tag

    这里,myimage.tar是你想要保存的文件名,my-username/my-image:tag是镜像的完整名称,包括仓库名称、镜像名称和标签。

  2. 确认文件
    使用ls命令确认tar文件已经被创建:

    1
    ls -lh myimage.tar

导入镜像

  1. 使用docker load命令
    当你在另一个Docker主机上或者在同一个主机上需要重新导入镜像时,使用以下命令:

    1
    docker load -i myimage.tar

    这里,-i选项指定输入文件,myimage.tar是包含镜像数据的tar文件。

  2. 确认镜像导入
    使用docker images来确认镜像已经被成功导入:

    1
    docker images

正则删除镜像

在Docker中,docker rmi(Remove Image)命令用于删除一个或多个镜像。截至我最后的知识更新,在Docker的官方命令行工具中,docker rmi命令本身并不支持正则表达式来直接匹配和删除多个镜像。然而,你可以使用shell的管道和工具,如grep,来实现类似的功能。

例如,如果你想删除所有包含特定字符串的镜像,可以使用以下Bash命令:

1
docker images | grep "your-substring" | awk '{print $3}' | xargs docker rmi

这里的命令解释如下:

  • docker images:列出所有镜像。
  • grep "your-substring":过滤出包含特定子字符串的行。
  • awk '{print $3}':使用awk打印出每行的第三列,通常是镜像ID或仓库:标签。
  • xargs docker rmi:将前面得到的镜像ID或标签列表作为参数传递给docker rmi命令进行删除。

请注意,这个命令需要你的shell支持xargs,并且你可能需要根据你的具体需求调整awk命令中的列号。

另外,使用这种批量删除方法时需要小心,因为一旦执行就无法撤销。在执行删除操作之前,最好先运行命令来检查哪些镜像将被删除:

1
docker images | grep "your-substring"

如果你想要使用正则表达式来更精确地匹配镜像名称,可以在grep中使用正则表达式:

1
docker images | grep -E 'your-regex-pattern' | awk '{print $3}' | xargs docker rmi

这里的 -E 参数让grep使用扩展正则表达式。

https://blog.51cto.com/chenshengsheng/2650544

评论