服务器空间清理
尝试用docker或者docker-compose去搭建各种服务,比如artalk还有waline,最终都失败了。回过头发现服务器硬盘空间快满了,为了清理内存去网上查教程,很多教程的命令not found,再安装新的命令或程序包又会额外增加空间,在谷歌找到一篇质量比较高的教程Linux 清理磁盘空间常见操作,根据里面的提示逐步尝试,将问题锁定在了docker上。
使用docker system df
命令可以直接查看docker的空间占用情况
1 | [root@racknerd-a450f77 ~]# docker system df |
清理Build Cache:
1 | [root@racknerd-a450f77 ~]# docker system prune --volumes |
这会清除所有:
- 停止的 Container
- 未被任何 Container 所使用的 Network
- 未被任何 Container 所使用的 Volume
- 无实例的 Image
- 无实例的 Build Cache
上一步中可能不会清理Images
,在docker system df
中仍然能看到Images
的空间占用。这一步可以清理这些Images
,从而
查看所有的 Image
1 | docker images -a |
1 | [root@racknerd-a450f77 ~]# docker images -a |
清理指定的 Image
1 | docker rmi <IMAGE ID> |
1 | [root@racknerd-a450f77 ~]# docker rmi 9873895befe3 |
最后是这个browserless/chrome,占据内存非常大,但又不是近期我自己安的,不敢删,我们来问问ai吧:
问题1:browserless/chrome是什么
以下是各列的详细解释:
- REPOSITORY: 镜像的仓库名,通常表示镜像的来源或归属。例如,lizheming/waline、redis、browserless/chrome 等都是镜像的仓库名。
- TAG: 镜像的标签,用于标识镜像的版本。常见的标签包括 latest、版本号(如 1.0)等。在输出中,所有镜像都使用了 latest,表示最新版本。
- IMAGE ID: 每个镜像都有一个唯一的 ID(哈希值),用于标识这个镜像。例如,9873895befe3 就是 lizheming/waline 的镜像 ID。
- CREATED: 镜像的创建时间,表示这个镜像被构建的时间。例如,lizheming/waline 是在 11 hours ago 创建的。
- SIZE: 镜像的大小。它表示这个镜像在磁盘上占用的空间。例如,browserless/chrome 镜像大小为 3.06GB,而 redis 镜像为 41.2MB。
browserless/chrome这个镜像提供一个无头的 Chrome 浏览器环境,用于自动化浏览器相关任务,比如爬虫或者测试,体积比较大是因为包含了完整的 Chrome 浏览器和依赖项。
问题2:我删除了它会有影响吗?
删除第 5 个 browserless/chrome
Docker 镜像会有以下几方面的影响,取决于你是否依赖它:
- 与浏览器自动化相关的任务会受影响:
browserless/chrome
镜像通常用于无头(headless)浏览器环境下的任务,比如自动化浏览、爬虫或自动化测试等。删除这个镜像后,如果你有依赖该镜像进行浏览器相关的自动化任务(如通过 Selenium、Puppeteer 等工具执行测试或爬取网页),这些任务将无法正常运行,除非你重新下载该镜像。
- 可能需要重新拉取镜像:
- 如果以后你仍然需要使用这个镜像,那么你将不得不重新通过
docker pull browserless/chrome
命令拉取该镜像。这会再次占用带宽和时间,尤其是像这个体积比较大的镜像(3.06GB)。
- 如果以后你仍然需要使用这个镜像,那么你将不得不重新通过
- 没有影响的情况:
- 如果你当前并没有依赖
browserless/chrome
进行任何工作,或者暂时不打算运行浏览器自动化任务,删除它不会对你的系统或其他容器产生任何影响。
- 如果你当前并没有依赖
- 总结:
如果你不再需要使用browserless/chrome
进行自动化浏览器相关的任务,删除它不会对你的系统产生任何问题。而且你可以随时重新下载镜像来恢复使用。如果你仍不确定它是否被使用,可以先检查是否有依赖它的容器正在运行,确保不影响正常工作。
这样的话就先放着不管吧,等下次存储空间告急的时候清理,毕竟已经学了相关的指令。