Docker 教程

Docker 清理停止的容器

在 Docker 中,可以使用 docker container prune 命令快速清理掉所有停止状态的容器。

语法

语法如下:

用法:docker container prune [OPTIONS]

删除所有停止的容器

选项:
  --filter filter   提供过滤值(例如 “until=<timestamp>”)。
  -f、--force   不提示确认

基本用法

执行docker container prune命令时,Docker 会询问你是否确认要删除所有停止的容器。如果你确认要删除,可以输入y并按下回车键。例如:

# 查看所有的容器
root@hxvm2:~# docker container ls -a
CONTAINER ID   IMAGE           COMMAND                  CREATED        STATUS                      PORTS                                                  NAMES
7bfac83b61a3   redis           "docker-entrypoint.s…"   5 hours ago    Up 18 minutes               0.0.0.0:6379->6379/tcp, :::6379->6379/tcp              redis
41a203fa62c5   nginx:latest    "/docker-entrypoint.…"   22 hours ago   Up 18 minutes               0.0.0.0:8080->80/tcp, :::8080->80/tcp                  eager_taussig
c47713422164   ubuntu:latest   "/bin/bash"              22 hours ago   Exited (127) 22 hours ago                                                          cool_robinson
d6a7b0794cd9   ubuntu:latest   "/bin/bash"              23 hours ago   Exited (127) 23 hours ago                                                          pedantic_moser
eda147abad68   nginx:1.20      "/docker-entrypoint.…"   25 hours ago   Exited (0) 24 hours ago                                                            heuristic_yalow
6a2896bec3b6   myapp           "python3 main.py"        26 hours ago   Exited (137) 26 hours ago                                                          elegant_lehmann
5efe0b8e06ef   mysql           "docker-entrypoint.s…"   9 days ago     Exited (255) 27 hours ago   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   some-mysql

# 删除所有停止的容器
root@hxvm2:~# docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
c4771342216471eab819333f239c8fece7b51a94656d6380b6c0c0b1fd6abfdd
d6a7b0794cd91575c2218a8fa8a95e184634a7b33bfce0335e05ba79edc8838b
eda147abad68c82cf7c30bea4c75d70f604269b6b9d6c95259b39d75ee5d5d52
6a2896bec3b61596e837aec4385b3a25b9ab13ef826c4378d32660366968f3e2
5efe0b8e06ef42613716b8b72e77a27381912fa7d5eb8eac557d756803c9a2db

Total reclaimed space: 1.243kB

注意事项

(1)数据备份

在执行这个命令之前,确保你已经备份了任何重要的数据。一旦容器被删除,其中的数据可能无法恢复。

特别是如果停止的容器中包含有价值的数据库、配置文件或其他重要数据,务必提前进行备份。

(2)确认操作

由于这个命令会一次性删除所有停止的容器,所以在执行之前要仔细确认。确保没有正在使用或需要保留的停止容器。

可以先使用docker container ls -a命令查看所有容器的状态,确认没有误删的情况。

(3)谨慎使用

docker container prune是一个比较强力的清理操作,应该谨慎使用。在生产环境中,最好在经过充分测试和确认后再执行这个命令。

如果不确定是否要删除所有停止的容器,可以考虑手动删除特定的容器,而不是使用这个命令进行批量删除。

总结

docker container prune命令可以帮助你快速清理不再需要的停止容器,但在使用时要小心谨慎,确保不会误删重要的数据和容器。

说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号