gpt4 book ai didi

elasticsearch - 停止的 docker 容器中的磁盘管理(清理)

转载 作者:行者123 更新时间:2023-12-02 18:55:24 24 4
gpt4 key购买 nike

我正在运行 elasticsearch我的虚拟机上的 docker 容器,最近有一个 elasticsearch失败,容器刚刚停止。原因 - 我的 ssd 空间不足。

我可以轻松地清理我的索引,但这里真正的问题是我实际上无法启动 docker 来执行此操作。容器在启动后立即停止,无法通过 Web UI 或 bash 清理空间。

如何在无法启动的已停止容器中清理磁盘?

最佳答案

假设您使用的是 official elasticsearch image ,Elasticsearch 数据目录将是一个卷(注意该图像的 VOLUME /usr/share/elasticsearch/data 中的 Dockerfile 语句)。

您现在可以启动另一个容器,使用 --volumes-from 安装原始容器的卷。执行您认为必要的任何清理任务的选项:

docker run --rm -it \
--volumes-from=<original-elasticsearch-container> \
ubuntu:latest \
/bin/bash

如果失败,您也可以运行 docker inspect在您的 Elasticsearch 容器上并在主机文件系统中找到卷的目录(假设您使用默认的 local 卷驱动程序)。寻找 Mounts JSON 输出中的部分:
"Mounts": [
{
"Name": "<volume-id>",
"Source": "/var/lib/docker/volumes/<volume-id>/_data",
"Destination": "/usr/share/elasticsearch/data",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
],
"Source"属性将描述卷在主机文件系统上的位置。当容器启动时,这个目录只是简单地绑定(bind)挂载到容器的挂载命名空间中;您在主机上的此目录中所做的任何更改都将在容器启动时反射(reflect)在容器中。

关于elasticsearch - 停止的 docker 容器中的磁盘管理(清理),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41150489/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com