Docker 常用命令 -- 镜像(Image)篇
1. 查看Docker 中已有的镜像
docker image ls
还有一个docker images 这是一个旧版的命令,自 Docker 17.06 版本引入docker image 的命令
参数
- -a 列表出有的镜像
2. 搜索镜像
docker search ubuntu
最好下载official为OK的,这表示是官方认可的,这命令中的"ubuntu"是表示你要查询镜像的名字,根据你的需求输入
参数
- --limit 5 表示只显示前5条记录 ,
- --filter stars=900 表示只列表stars > 900 的记录
3. 拉取镜像
docker pull mysql
根据网速不同,需要不同时间的等待下载完成
参数
- 镜像名字:[tag] tag 是可选的,当没有时,默认是latest,当需要特定的镜像版本时,需要知道tag,这个tag在docker search 中是看不到的,需要我们在这镜像的仓库中去看,有哪些tag可用,或是自己猜测的试着pull
https://github.com/docker-library/docs/tree/master/mysql
4. 删除镜像
- 删除一个镜像
docker rmi 镜像名/镜像ID
- 删除多个镜像
docker rmi 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID
- 删除所有镜像
docker rmi $(docker images -aq)
docker rmi 是 docker image rm 的简写,所以上面的命令也可以改为docker image rm 镜像名/镜像ID
参数
- -f 或 --force 强制删除,如果确定删除时,最好带上 -f ,因为这个镜像被其它使用到时,不带-f 是删除不了的
5. 清理不再使用的 Docker 镜像
docker image prune
当您使用 Docker 创建、拉取或构建镜像时,会生成一些临时镜像,而这些镜像可能不再被使用,但仍占用磁盘空间。docker image prune 命令可以帮助您清理这些不再使用的镜像,以释放磁盘空间。
运行 docker image prune 命令时,Docker 会列出将要被删除的镜像,并要求您确认操作。您可以使用 -f 或 --force 参数来跳过确认步骤,直接执行清理操作。
以下是使用 docker image prune 命令的示例:
docker image prune
此命令将列出要删除的不再使用的镜像,并要求您确认操作。
docker image prune -f
此命令将直接执行清理操作,不再需要确认。
请注意,docker image prune
命令仅清理不再使用的镜像,不会删除正在使用的镜像或被其他镜像依赖的镜像。确保在执行清理操作之前,确认您不再需要这些镜像。
此外,docker system prune
命令可以一次性清理不再使用的镜像、容器和其他 Docker 资源,以释放更多的磁盘空间。
镜像的备份与还原
docker save 镜像名/镜像ID -o 导出名.tar 镜像保存在哪个位置与名字
docker load -i 镜像保存文件位置
docker save mysql -o D:\test\mysql.zip 把mysql的最新镜像备份在本地,注意在windows上后缀是.zip,在linux上请用 .tar,否则在load时,会提示 archive/tar: invalid tar header
docker load -i D:\test\mysql.zip 把mysql.zip导入到Docker
这命令适合在不同环境的Docker之间传送镜像