Complete Dockerfile instruction reference list

This commit is contained in:
yeasy
2026-04-27 23:17:39 +00:00
parent 3d3befa16a
commit 16203c5018
16 changed files with 86 additions and 102 deletions
+8 -23
View File
@@ -19,7 +19,7 @@ $ docker image rm [选项] <镜像1> [<镜像2> ...]
| 方式 | 说明 | 示例 |
|------|------|------|
| ** ID** | ID 的前几位只要足够唯一即可 | `docker rmi 501` |
| ** ID** | ID 的前几位 (通常 3-4 )| `docker rmi 501` |
| ** ID** | 完整的镜像 ID | `docker rmi 501ad78535f0...` |
| **镜像名:标签** | 仓库名和标签 | `docker rmi redis:7.0` |
| **镜像摘要** | 精确的内容摘要 | `docker rmi nginx@sha256:...` |
@@ -144,7 +144,7 @@ $ docker image prune -f
$ docker image prune -a
## 只清理 24 小时前的未使用镜像
## 保留最近 24 小时
$ docker image prune -a --filter "until=24h"
```
@@ -152,17 +152,13 @@ $ docker image prune -a --filter "until=24h"
#### 按条件删除
```bash
## 先列出所有 redis 相关镜像引用
## 删除所有 redis 镜像
$ docker image ls --filter reference='redis*'
$ docker rmi $(docker images -q redis)
## 确认后,按仓库名:标签逐个删除需要的镜像
## 删除 mongo:8.0 之前的所有镜像
$ docker image rm redis:7 redis:7-alpine
## 先列出所有比 mongo:8.0 更早创建的镜像
$ docker image ls --filter before=mongo:8.0
$ docker rmi $(docker images -q -f before=mongo:8.0)
## 删除某个时间之前的镜像
@@ -221,25 +217,14 @@ Error: image has dependent child images
### 4.3.6 常用过滤条件
不同命令支持的过滤条件并不相同最常见的是 `docker image ls` 用来筛选查看对象`docker image prune` 用来清理未使用镜像
#### `docker image ls` 常用过滤条件
| 过滤条件 | 说明 | 示例 |
|---------|------|------|
| `dangling=true` | 虚悬镜像 | `-f dangling=true` |
| `before=镜像` | 仅匹配比某镜像更早创建的镜像 | `-f before=mongo:3.2` |
| `since=镜像` | 仅匹配比某镜像更晚创建的镜像 | `-f since=mongo:3.2` |
| `before=镜像` | 在某镜像之前 | `-f before=mongo:3.2` |
| `since=镜像` | 在某镜像之后 | `-f since=mongo:3.2` |
| `label=key=value` | 按标签过滤 | `-f label=version=1.0` |
| `reference=pattern` | 按名称模式 | `-f reference='*:latest'` |
#### `docker image prune` 常用过滤条件
| 过滤条件 | 说明 | 示例 |
|---------|------|------|
| `until=<时间>` | 仅清理某个时间点之前创建的未使用镜像 | `--filter "until=24h"` |
| `label=key=value` | 仅清理带指定标签的未使用镜像 | `--filter "label=stage=temp"` |
---
### 4.3.7 清理策略