Предполагая, что вы используете 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"
Свойство будет описывать местоположение тома на хост файловой системы. Когда контейнер запущен, этот каталог просто привязывается к пространству имен монтирования контейнера; любые изменения, внесенные вами в этом каталоге на хосте, будут отображаться в контейнере при его запуске.