© 2021 WebHive

Собираем docker контейнер для elasticsearch

Для одного проекта потребовался elasticsearch старой версии — 0.9. Работаю я в ArchLinux — это rolling дистрибутив — соответственно софт всегда самый новый. Со старым софтом беда — вариант только собирать из исходников.

Собственно всегда есть вариант запустить нужный софт в виртуальной машине. Но с какого-то момента понимаешь, что это всё-таки тупиковый путь. Куча виртуалок жрёт ресурсы как пылесос. Шаринг папок из хост системы как ни крути хоть и разрешимая, но проблема. По крайней мере я часто сталкивался с проблемами с правами, с неожиданным отмонтированием папок и т. п.

Но кто ищет тот всегда найдёт и для меня настоящим спасением стал www.docker.io

Ниже привожу команды которыми я сравнительно несложно поднял экземпляр elasticsearch версии 0.9

1
2
3
4
5
$ docker build .
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
webhive/elasticsearch-0.9 latest 2c26db7541e7 8 minutes ago 1.048 GB
dockerfile/java latest 90bae6ed8c3e About an hour ago 1.026 GB
1
2
3
4
5
6
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c4ee31e8238c webhive/elasticsearch-0.9:latest /opt/elasticsearch-0 About a minute ago Up 16 seconds 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp stoic_mestorf

$ docker stop $(docker ps -a -q)
$ docker rm $(docker ps -a -q)

Поработали с эластиком и чтобы не загружать в него данные заново каждый раз

1
$ docker commit c4ee31e8238c webhive/elasticsearch-0.9:prefilled

Теперь видим ещё один образ с уже загруженными данными

1
2
3
4
5
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
webhive/elasticsearch-0.9 prefilled 657a4b46ae88 3 minutes ago 1.064 GB
webhive/elasticsearch-0.9 latest 2c26db7541e7 19 hours ago 1.048 GB
dockerfile/java latest 90bae6ed8c3e 20 hours ago 1.026 GB

Комментарии