Это мой docker-compose.yml
-
version: "3"
services:
solr:
build: ./services/solr
ports:
- "8983:8983"
container_name: solr
volumes:
- ./services/solr/config/my_collection:/config/my_collection
solr_data_loader:
build: ./services/solr_data_loader
container_name: solr_data_loader
volumes:
- ./services/solr_data_loader/data:/opt/data
restart: always
depends_on:
- solr
Как видите, у меня есть служба с именем solr
, которая использует официальное изображение solr
из докер-хаба.Наряду с этим у меня есть еще одна служба с именем solr_data_loader
, которая копирует данные из локальной системы в Solr с помощью сценария bash, выполнив команду cURL для пользовательского интерфейса solr
с этой конечной точкой REST - http://solr:8983/solr/my_collection/update/csv?commit=true"
.
MyВопрос в том, является ли способ установки solr_data_loader
хорошей практикой в отношении того, как должны работать док-контейнеры?Конечно, я мог бы просто запустить отдельный сценарий bash для выполнения этой задачи по передаче данных, но мне кажется, что для меня это более чистый подход - иметь отдельный контейнер, который выходит из строя после выполнения этой работы.