整理常用的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
使用扩展正则表达式。