在 Docker 中永久删除容器
通常,Docker 不会删除已停止的容器,而只会取消标记它们。 发生此过程是为了避免意外删除已停止的容器。
本文将讨论如何正确删除未使用和未标记的容器以回收 Docker 中的资源。
在 Docker 中永久删除容器
在 Docker 中,我们有 remove 命令可以强制删除特定图像。 此命令是用于图像的 docker rmi -f <image_id>
和用于容器的 docker rm <container_id>
。
然而,在理论上,该命令不会删除容器镜像,而只会通过取消标记对象来软删除它。
如果我们使用命令 docker image ls -a
检查我们停止的图像,我们可以验证上述命令只会取消标记我们的图像而不是删除它们。
示例输出:
Untagged: my_image:latest
以下部分将讨论多个脚本和参数,以帮助我们永久删除 docker 容器。
在 Docker 中修剪容器
使用 Docker 时,我们可以快速积累许多未使用的对象,这些对象会占用大量磁盘空间并使 Docker 命令生成的输出变得混乱。 不幸的是,除非明确告诉我们这样做,否则 Docker 不会删除未标记和未使用的对象,例如容器、图像、卷和网络。
我们可以通过删除停止状态的容器,通过容器剪枝来快速回收资源。 例如,我们可以使用下面的命令。
示例代码:
docker system prune -a
-a 标志将删除所有未使用的图像。 运行后会提示我们如下信息。
我们可以通过添加带有 -f force 标志的上述命令来绕过此消息。
WARNING! This command will remove the following:
- all containers with the stopped status
- all network paths not used by at least one (1) container
- all images without at least one (1) container associated with them
- all cache
Are you sure you want to continue? [y/N]
此外,上述命令不会删除附加到以前未使用的 Docker 容器的未使用卷。 但是,我们可以附加并使用 --volumes 参数来包括删除未使用的卷。
相关文章
在 Linux 中托管 Docker Internal
发布时间:2023/04/18 浏览次数:139 分类:Docker
-
Docker 允许开发人员通过将应用程序包装在称为容器的标准化单元中来高效地构建、测试和部署应用程序。 在使用 Docker 容器时,您可能会遇到需要将容器与主机连接的场景。
在 Docker 中设置工作目录
发布时间:2023/04/18 浏览次数:82 分类:Docker
-
在 Docker 中,我们可以通过编辑 Dockerfile 并添加密钥 WORKDIR 来设置我们的工作目录。本文将讨论在 Docker 中更改我们当前和默认的工作目录。
在 Docker 容器中公开多个端口
发布时间:2023/04/18 浏览次数:143 分类:Docker
-
Docker 容器使用端口来实现万维网上不同设备之间的通信。 在本篇文章中,我们将学习如何使用 Nginx 应用程序在 Docker 容器中公开多个端口。
将用户添加到 Docker 容器
发布时间:2023/04/18 浏览次数:187 分类:Docker
-
在本文中,我们将学习如何通过实现返回产品数组的 Express 应用程序将用户添加到 Docker 容器。
使用 Docker 网络主机命令
发布时间:2023/04/18 浏览次数:112 分类:Docker
-
在本文中,我们将学习如何使用 --network 命令将容器添加到主机网络。 如果我们不使用此命令指定网络,我们还将了解如何将容器添加到默认网络。
清除 Docker 容器日志
发布时间:2023/04/18 浏览次数:181 分类:Docker
-
本文介绍了我们可以用来清除 docker 容器中日志的不同方法。日志是应用程序在特定事件或状态发生时记录的信息,它们帮助我们监控应用程序并采取必要的措施。
Dockerfile 中 COPY 和 ADD 命令的区别
发布时间:2023/04/18 浏览次数:158 分类:Docker
-
在 Dockerfile 中,我们可以使用 COPY 或 ADD 命令复制这些文件。 这些命令在功能上是相同的; 但是,存在一些差异。本文介绍了 Dockerfile 中 COPY 和 ADD 命令之间的区别。