Запустите тестовый контейнер ElasticSearch с плагином - PullRequest
1 голос
/ 27 сентября 2019

Я использую testcontainers.org, используя docker.elastic.co/elasticsearch/elasticsearch-oss:7.3.2, и я хочу использовать его для тестирования плагина, который я обновляю, но я не могу найти способ установить его в тестовой среде.

Я могу попытаться скопировать файл внутрь и установить его

ElasticsearchContainer container = new ElasticsearchContainer("docker.elastic.co/elasticsearch/elasticsearch-oss:$ELASTIC_VERSION")
String pluginPath = "/usr/share/elasticsearch/$PLUGIN_FILE_NAME"
container.start()
container.copyFileToContainer(MountableFile.forHostPath(new File(PLUGIN_PLUGIN_PATH).toPath()), pluginPath)
ExecResult result = container.execInContainer("bin/elasticsearch-plugin", "install", "file://$pluginPath")

, но затем контейнер уже запущен и эластичный поиск уже запущен, поэтому плагин не будет загружен, поэтому мне нужно будет его убитьи копировать, как он создается, звучит как много взлома вокруг.Есть ли лучший способ сделать это?

...