Docker 常用命令 -- 镜像(Image)篇

1. 查看Docker 中已有的镜像

docker image ls

image
还有一个docker images 这是一个旧版的命令,自 Docker 17.06 版本引入docker image 的命令

参数
  • -a 列表出有的镜像

2. 搜索镜像

docker search ubuntu

image
最好下载official为OK的,这表示是官方认可的,这命令中的"ubuntu"是表示你要查询镜像的名字,根据你的需求输入

参数
  • --limit 5 表示只显示前5条记录 ,
  • --filter stars=900 表示只列表stars > 900 的记录

3. 拉取镜像

docker pull mysql
image

根据网速不同,需要不同时间的等待下载完成

参数
  • 镜像名字:[tag] tag 是可选的,当没有时,默认是latest,当需要特定的镜像版本时,需要知道tag,这个tag在docker search 中是看不到的,需要我们在这镜像的仓库中去看,有哪些tag可用,或是自己猜测的试着pull
    https://github.com/docker-library/docs/tree/master/mysql
    image

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之间传送镜像

posted @ 2023-11-24 10:21  刘继先  阅读(364)  评论(0编辑  收藏  举报