CodeGym /课程 /Docker SELF /管理镜像

管理镜像

Docker SELF
第 13 级 , 课程 4
可用

5.1 命令 docker images

如果你的系统里已经存储了 Docker 镜像,可以通过专门的命令对其进行管理。首先是 docker imagesdocker rmi。在本讲中,我们会详细讨论如何使用这些命令来高效管理 Docker 镜像。

命令 docker images 会显示本地系统中保存的镜像列表。它显示的信息包括仓库名称、标签、镜像ID、创建日期以及大小。这些信息可以快速让你了解可用有哪些镜像,以及它们占用了多少空间。

语法:


docker images [OPTIONS] [REPOSITORY[:TAG]]

其中:

  • OPTIONS: 用于过滤和格式化输出的额外参数。
  • [REPOSITORY[:TAG]]: (可选)根据仓库名称和/或标签进行过滤。

基本使用示例

以下示例显示本地保存的所有镜像列表。

Terminal


docker images 

命令 docker images 的输出示例:

Terminal


REPOSITORY      TAG                 IMAGE ID                  CREATED               SIZE
nginx           latest              5a7e5b1a3b8c             2 days ago            133MB
ubuntu          20.04               ba6acccedd29             3 weeks ago           72.9MB
myapp           1.0                 d1e5e2ff5ff2             1 month ago           89.5MB

各列描述:

  • REPOSITORY: 镜像所属的仓库名称。
  • TAG: 指示镜像版本的标签。
  • IMAGE ID: 镜像的唯一标识符。
  • CREATED: 镜像创建以来的时间。
  • SIZE: 镜像在内存中的大小。

5.2 镜像过滤

镜像过滤可以缩小 docker images 命令的结果,只显示符合你条件的镜像。如果你的系统里存了很多镜像,而你需要快速找到特定的镜像(按照仓库名、标签或者其他参数),这个非常方便。

1. 按仓库过滤

Terminal


docker images nginx 

这个例子会只显示来自仓库 nginx 的镜像。

2. 按标签过滤

Terminal


docker images ubuntu:20.04 

这个例子会显示带有标签 20.04ubuntu 镜像。

3. 使用参数 -a (all)

默认情况下,docker images 命令只显示镜像的最新版本。如果想显示所有镜像(包括中间层),可以使用选项 -a

Terminal


docker images -a 

4. 格式化输出

为了简化阅读,或者与其他工具集成,你可以用 --format 选项自定义输出格式。这在脚本和任务自动化中特别有用。

Terminal


docker images --format "{{.Repository}}:{{.Tag}} {{.ID}}" 

5.3 命令 docker rmi

命令 docker rmi 用于删除一个或多个 Docker 镜像。这对释放磁盘空间和保持系统整洁很有用,特别是当镜像不再被使用时。

语法:

Terminal

docker rmi [OPTIONS] IMAGE [IMAGE...]

其中:

  • OPTIONS: 用于控制删除过程的附加参数。
  • IMAGE: 要删除的镜像的名称、标签或 ID。

基本使用示例

这个例子删除名称为 nginx 的镜像。

Terminal

docker rmi nginx

通过镜像 ID 删除

这个例子删除 ID 为 5a7e5b1a3b8c 的镜像。

Terminal

docker rmi 5a7e5b1a3b8c

强制删除

如果镜像被容器使用或被锁定,可能无法正常删除。要强制删除,请使用选项 -f (force)

Terminal

docker rmi -f myapp:1.0 

删除多个镜像

要一次删除多个镜像,请用空格分隔它们。

Terminal

docker rmi nginx ubuntu:20.04 myapp:1.0 

5.4 实践示例

示例 1: 查看所有镜像

要获取本地机器上存储的所有镜像的完整列表,请执行以下命令:

Terminal

docker images

此命令将显示一个包含仓库名称、标签、镜像ID、创建日期和大小的表格。

示例 2: 格式化输出查看镜像

如果想以自定义格式获取镜像列表,比如只输出仓库名和标签:

Terminal

docker images --format "{{.Repository}}:{{.Tag}}"

这个示例展示了如何使用选项 --format 设置输出,这在编写脚本时非常方便。

示例 3: 删除所有未使用的镜像

如果想删除所有未被容器使用的镜像,首先获取它们的列表,然后执行删除:

Terminal

docker images -q
docker rmi $(docker images -q)

命令 docker images -q 只输出本地保存的所有镜像ID,然后将其传递给 docker rmi 进行删除。

示例 4: 删除悬空镜像 (dangling images)

悬空镜像 是指没有标签的镜像,通常在镜像更新或构建失败后产生。要删除它们,可以使用以下命令:

Terminal

docker rmi $(docker images -f "dangling=true" -q) 

这里 -f "dangling=true" 过滤掉没有标签的镜像,而 -q 仅输出它们的ID,然后传递给删除命令。

1
Опрос
了解 Docker Images,  13 уровень,  4 лекция
недоступен
了解 Docker Images
了解 Docker Images
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION