mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-11 04:14:38 +00:00
Simplify words and fix format issues
This commit is contained in:
@@ -31,8 +31,6 @@ Registry地址 用户名 仓库名 标签
|
||||
|
||||
#### 示例
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
## 完整格式
|
||||
|
||||
@@ -65,8 +63,6 @@ $ docker pull ghcr.io/username/myapp:v1.0
|
||||
|
||||
当我们执行 `docker pull` 命令时,Docker 会输出详细的下载进度。让我们以 `ubuntu:24.04` 为例来解析这些信息。
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker pull ubuntu:24.04
|
||||
24.04: Pulling from library/ubuntu
|
||||
@@ -80,8 +76,6 @@ docker.io/library/ubuntu:24.04
|
||||
|
||||
#### 输出解读
|
||||
|
||||
相关信息如下表:
|
||||
|
||||
| 输出内容 | 说明 |
|
||||
|---------|------|
|
||||
| `Pulling from library/ubuntu` | 正在从官方 ubuntu 仓库拉取 |
|
||||
@@ -118,10 +112,6 @@ flowchart TD
|
||||
| `--platform` | 指定平台架构 | `docker pull --platform linux/arm64 nginx` |
|
||||
| `--quiet, -q` | 静默模式 | `docker pull -q nginx` |
|
||||
|
||||
#### 概述
|
||||
|
||||
总体概述了以下内容。
|
||||
|
||||
#### 指定平台
|
||||
|
||||
在 Apple Silicon Mac 上拉取 x86 镜像:
|
||||
@@ -196,8 +186,6 @@ $ sudo systemctl restart docker # Linux
|
||||
|
||||
#### 查看镜像摘要
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker images --digests ubuntu
|
||||
REPOSITORY TAG DIGEST IMAGE ID
|
||||
@@ -228,8 +216,6 @@ $ docker pull ubuntu@sha256:4bc3ae6596938cb0d9e5ac51a1152ec9dcac2a1c50829c74abd9
|
||||
|
||||
#### Q:提示镜像不存在
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
Error: pull access denied, repository does not exist
|
||||
```
|
||||
@@ -242,8 +228,6 @@ Error: pull access denied, repository does not exist
|
||||
|
||||
#### Q:磁盘空间不足
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
## 清理未使用的镜像
|
||||
|
||||
|
||||
@@ -31,10 +31,6 @@ ubuntu noble 329ed837d508 3 days ago 78MB
|
||||
| **CREATED** | 创建时间 |
|
||||
| **SIZE** | 本地占用空间 |
|
||||
|
||||
#### 概述
|
||||
|
||||
总体概述了以下内容。
|
||||
|
||||
#### 同一镜像多个标签
|
||||
|
||||
注意上面的 `ubuntu:24.04` 和 `ubuntu:noble` 拥有相同的 IMAGE ID——它们是同一个镜像的不同标签,只占用一份存储空间。
|
||||
@@ -47,8 +43,6 @@ Docker 镜像的大小可能与我们通常理解的文件大小有所不同,
|
||||
|
||||
#### 本地大小 vs Hub 显示大小
|
||||
|
||||
相关信息如下表:
|
||||
|
||||
| 位置 | 显示大小 | 说明 |
|
||||
|------|---------|------|
|
||||
| Docker Hub | 29MB | 压缩后的网络传输大小 |
|
||||
@@ -70,8 +64,6 @@ ubuntu:24.04 nginx:latest redis:latest
|
||||
|
||||
#### 查看实际空间占用
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker system df
|
||||
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
|
||||
@@ -89,8 +81,6 @@ Build Cache 0 0 0B 0B
|
||||
|
||||
#### 按仓库名过滤
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
## 列出所有 ubuntu 镜像
|
||||
|
||||
@@ -103,8 +93,6 @@ ubuntu 22.04 a1b2c3d4e5f6 72MB
|
||||
|
||||
#### 按仓库名和标签过滤
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker images ubuntu:24.04
|
||||
REPOSITORY TAG IMAGE ID SIZE
|
||||
@@ -113,8 +101,6 @@ ubuntu 24.04 329ed837d508 78MB
|
||||
|
||||
#### 使用过滤器 --filter
|
||||
|
||||
相关信息如下表:
|
||||
|
||||
| 过滤条件 | 说明 | 示例 |
|
||||
|---------|------|------|
|
||||
| `dangling=true` | 虚悬镜像 | `-f dangling=true` |
|
||||
@@ -160,8 +146,6 @@ REPOSITORY TAG IMAGE ID SIZE
|
||||
|
||||
#### 处理虚悬镜像
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
## 列出虚悬镜像
|
||||
|
||||
@@ -178,14 +162,8 @@ $ docker image prune
|
||||
|
||||
除了虚悬镜像,`docker image ls` 默认列出的只是顶层镜像。还有一种镜像是为了加速镜像构建、重复利用资源而存在的中间层镜像。
|
||||
|
||||
#### 概述
|
||||
|
||||
总体概述了以下内容。
|
||||
|
||||
#### 查看所有镜像 (包含中间层)
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker images -a
|
||||
```
|
||||
@@ -202,8 +180,6 @@ $ docker images -a
|
||||
|
||||
#### 只输出 ID
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker images -q
|
||||
5f515359c7f8
|
||||
@@ -225,16 +201,12 @@ $ docker rmi $(docker images -q redis)
|
||||
|
||||
#### 显示完整 ID
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker images --no-trunc
|
||||
```
|
||||
|
||||
#### 显示摘要
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker images --digests
|
||||
REPOSITORY TAG DIGEST IMAGE ID
|
||||
@@ -264,8 +236,6 @@ ubuntu 24.04 78MB
|
||||
|
||||
#### 可用模板字段
|
||||
|
||||
相关信息如下表:
|
||||
|
||||
| 字段 | 说明 |
|
||||
|------|------|
|
||||
| `.ID` | 镜像 ID |
|
||||
@@ -280,8 +250,6 @@ ubuntu 24.04 78MB
|
||||
|
||||
### 4.2.8 常用命令组合
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
## 列出所有镜像及其大小,按大小排序(需要系统 sort 命令)
|
||||
|
||||
|
||||
@@ -27,8 +27,6 @@ $ docker image rm [选项] <镜像1> [<镜像2> ...]
|
||||
|
||||
#### 使用短 ID 删除
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker image ls
|
||||
REPOSITORY TAG IMAGE ID SIZE
|
||||
@@ -44,8 +42,6 @@ Deleted: sha256:501ad78535f0...
|
||||
|
||||
#### 使用镜像名删除
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker rmi redis:alpine
|
||||
Untagged: redis:alpine
|
||||
@@ -87,8 +83,6 @@ Deleted: sha256:32770d1dcf835f192cafd6b9263b7b597a1778a403a109e2cc2ee866f74adf23
|
||||
|
||||
#### Untagged vs Deleted
|
||||
|
||||
相关信息如下表:
|
||||
|
||||
| 操作 | 含义 |
|
||||
|------|------|
|
||||
| **Untagged** | 移除镜像的标签 |
|
||||
@@ -146,8 +140,6 @@ $ docker image prune -f
|
||||
|
||||
#### 删除所有未使用的镜像
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
## 删除所有没有被容器使用的镜像
|
||||
|
||||
@@ -160,8 +152,6 @@ $ docker image prune -a --filter "until=24h"
|
||||
|
||||
#### 按条件删除
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
## 删除所有 redis 镜像
|
||||
|
||||
@@ -184,8 +174,6 @@ $ docker image prune -a --filter "until=168h" # 7天前
|
||||
|
||||
#### 原因一:有容器依赖
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker rmi nginx
|
||||
Error: conflict: unable to remove repository reference "nginx"
|
||||
@@ -207,8 +195,6 @@ $ docker rmi -f nginx
|
||||
|
||||
#### 原因二:多个标签指向同一镜像
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker images
|
||||
REPOSITORY TAG IMAGE ID
|
||||
@@ -225,8 +211,6 @@ Untagged: ubuntu:24.04
|
||||
|
||||
#### 原因三:被其他镜像依赖 (中间层)
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker rmi some_base_image
|
||||
Error: image has dependent child images
|
||||
@@ -238,8 +222,6 @@ Error: image has dependent child images
|
||||
|
||||
### 4.3.6 常用过滤条件
|
||||
|
||||
相关信息如下表:
|
||||
|
||||
| 过滤条件 | 说明 | 示例 |
|
||||
|---------|------|------|
|
||||
| `dangling=true` | 虚悬镜像 | `-f dangling=true` |
|
||||
@@ -256,8 +238,6 @@ Error: image has dependent child images
|
||||
|
||||
#### 开发环境
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
## 定期清理虚悬镜像
|
||||
|
||||
@@ -270,8 +250,6 @@ $ docker system prune -a
|
||||
|
||||
#### CI/CD 环境
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
## 只保留最近使用的镜像
|
||||
|
||||
@@ -280,8 +258,6 @@ $ docker image prune -a --filter "until=72h" -f
|
||||
|
||||
#### 查看空间占用
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker system df
|
||||
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
|
||||
|
||||
@@ -122,8 +122,6 @@ docker run --name web2 -d -p 81:80 nginx:v2
|
||||
|
||||
### 4.4.1 概述
|
||||
|
||||
总体概述了以下内容。
|
||||
|
||||
### 4.4.2 慎用 `docker commit`
|
||||
|
||||
使用 `docker commit` 命令虽然可以比较直观的帮助理解镜像分层存储的概念,但是实际环境中并不会这样使用。
|
||||
|
||||
@@ -146,8 +146,6 @@ Sending build context to Docker daemon 2.048 kB
|
||||
|
||||
### 4.5.7 其它 `docker build` 的用法
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
#### 直接用 Git repo 进行构建
|
||||
|
||||
或许你已经注意到了,`docker build` 还支持从 URL 构建,比如可以直接从 Git repo 中构建:
|
||||
@@ -174,8 +172,6 @@ Successfully built 038ad4142d2b
|
||||
|
||||
#### 用给定的 tar 压缩包构建
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker build http://server/context.tar.gz
|
||||
```
|
||||
@@ -184,8 +180,6 @@ $ docker build http://server/context.tar.gz
|
||||
|
||||
#### 从标准输入中读取 Dockerfile 进行构建
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
docker build - < Dockerfile
|
||||
```
|
||||
@@ -200,8 +194,6 @@ cat Dockerfile | docker build -
|
||||
|
||||
#### 从标准输入中读取上下文压缩包进行构建
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker build - < context.tar.gz
|
||||
```
|
||||
|
||||
@@ -41,10 +41,6 @@ f477a6e18e98 About a minute ago 214.9 MB
|
||||
|
||||
Docker 还提供了 `docker save` 和 `docker load` 命令,用以将镜像保存为一个文件,然后传输到另一个位置上,再加载进来。这是在没有 Docker Registry 时的做法,现在已经不推荐,镜像迁移应该直接使用 Docker Registry,无论是直接使用 Docker Hub 还是使用内网私有 Registry 都可以。
|
||||
|
||||
#### 概述
|
||||
|
||||
总体概述了以下内容。
|
||||
|
||||
#### 保存镜像
|
||||
|
||||
使用 `docker save` 命令可以将镜像保存为归档文件。
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
# 第四章使用镜像
|
||||
# 第四章 使用镜像
|
||||
|
||||
在之前的介绍中,我们知道镜像是 Docker 的三大组件之一。
|
||||
|
||||
Docker 运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker 会从镜像仓库下载该镜像。
|
||||
|
||||
## 概述
|
||||
|
||||
总体概述了以下内容。
|
||||
|
||||
## 本章内容
|
||||
|
||||
本章将介绍更多关于镜像的内容,包括:
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
## 4.8 本章小结
|
||||
|
||||
相关信息如下表:
|
||||
|
||||
| 操作 | 命令 |
|
||||
|------|------|
|
||||
| 拉取镜像 | `docker pull 镜像名:标签` |
|
||||
@@ -16,8 +14,6 @@
|
||||
- [镜像加速器](../03_install/3.9_mirror.md):加速镜像下载
|
||||
- [Docker Hub](../06_repository/6.1_dockerhub.md):官方镜像仓库
|
||||
|
||||
相关信息如下表:
|
||||
|
||||
| 操作 | 命令 |
|
||||
|------|------|
|
||||
| 列出所有镜像 | `docker images` |
|
||||
@@ -34,8 +30,6 @@
|
||||
- [删除镜像](4.3_rm.md):清理本地镜像
|
||||
- [镜像](../02_basic_concept/2.1_image.md):理解镜像概念
|
||||
|
||||
相关信息如下表:
|
||||
|
||||
| 操作 | 命令 |
|
||||
|------|------|
|
||||
| 删除指定镜像 | `docker rmi 镜像名:标签` |
|
||||
|
||||
Reference in New Issue
Block a user