整理常用的Docker 命令,做学习使用,持续更新
导出镜像
使用
docker save命令:
找到你想要导出的镜像,然后使用以下命令:1
docker save -o myimage.tar my-username/my-image:tag
这里,
myimage.tar是你想要保存的文件名,my-username/my-image:tag是镜像的完整名称,包括仓库名称、镜像名称和标签。确认文件:
使用ls命令确认tar文件已经被创建:1
ls -lh myimage.tar
导入镜像
使用
docker load命令:
当你在另一个Docker主机上或者在同一个主机上需要重新导入镜像时,使用以下命令:1
docker load -i myimage.tar
这里,
-i选项指定输入文件,myimage.tar是包含镜像数据的tar文件。确认镜像导入:
使用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使用扩展正则表达式。


