Merge pull request #409 from yongchengzhao/master

- Fix issue #408: Fix typos.
This commit is contained in:
khs1994 2019-06-28 11:17:28 +08:00 committed by GitHub
commit 0baf0fec99
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -64,7 +64,7 @@ Untagged: node@sha256:b4f0e0bdeb578043c1ea6862f0d40cc4afe32a4a582f3be235a3b16442
因此当我们使用上面命令删除镜像的时候实际上是在要求删除某个标签的镜像所以首先需要做的是将满足我们要求的所有镜像标签都取消这就是我们看到的 `Untagged` 的信息因为一个镜像可以对应多个标签因此当我们删除了所指定的标签后可能还有别的标签指向了这个镜像如果是这种情况那么 `Delete` 行为就不会发生所以并非所有的 `docker image rm` 都会产生删除镜像的行为有可能仅仅是取消了某个标签而已 因此当我们使用上面命令删除镜像的时候实际上是在要求删除某个标签的镜像所以首先需要做的是将满足我们要求的所有镜像标签都取消这就是我们看到的 `Untagged` 的信息因为一个镜像可以对应多个标签因此当我们删除了所指定的标签后可能还有别的标签指向了这个镜像如果是这种情况那么 `Delete` 行为就不会发生所以并非所有的 `docker image rm` 都会产生删除镜像的行为有可能仅仅是取消了某个标签而已
当该镜像所有的标签都被取消了该镜像很可能会失去了存在的意义因此会触发删除行为镜像是多层存储结构因此在删除的时候也是从上层向基础层方向依次进行判断删除镜像的多层结构让镜像复用变非常容易因此很有可能某个其它镜像正依赖于当前镜像的某一层这种情况依旧不会触发删除该层的行为直到没有任何层依赖当前层时才会真实的删除当前层这就是为什么有时候会奇怪为什么明明没有别的标签指向这个镜像但是它还是存在的原因也是为什么有时候会发现所删除的层数和自己 `docker pull` 看到的层数不一样的 当该镜像所有的标签都被取消了该镜像很可能会失去了存在的意义因此会触发删除行为镜像是多层存储结构因此在删除的时候也是从上层向基础层方向依次进行判断删除镜像的多层结构让镜像复用变非常容易因此很有可能某个其它镜像正依赖于当前镜像的某一层这种情况依旧不会触发删除该层的行为直到没有任何层依赖当前层时才会真实的删除当前层这就是为什么有时候会奇怪为什么明明没有别的标签指向这个镜像但是它还是存在的原因也是为什么有时候会发现所删除的层数和自己 `docker pull` 看到的层数不一样的原因
除了镜像依赖以外还需要注意的是容器对镜像的依赖如果有用这个镜像启动的容器存在即使容器没有运行那么同样不可以删除这个镜像之前讲过容器是以镜像为基础再加一层容器存储层组成这样的多层存储结构去运行的因此该镜像如果被这个容器所依赖的那么删除必然会导致故障如果这些容器是不需要的应该先将它们删除然后再来删除镜像 除了镜像依赖以外还需要注意的是容器对镜像的依赖如果有用这个镜像启动的容器存在即使容器没有运行那么同样不可以删除这个镜像之前讲过容器是以镜像为基础再加一层容器存储层组成这样的多层存储结构去运行的因此该镜像如果被这个容器所依赖的那么删除必然会导致故障如果这些容器是不需要的应该先将它们删除然后再来删除镜像