Я новичок в использовании Blazegraph и развиваюсь с ним локально как часть проекта в течение последних нескольких месяцев. В настоящее время я пытаюсь разместить экземпляр моего тройного магазина в Интернете и дошел до того, что теряюсь в кругах.
Мое приложение использует API начальной загрузки для управления любым взаимодействием с хранилищем триплетов. Первоначально я использовал docker -compose для размещения как на моем локальном компьютере, так и мог без проблем запрашивать и обновлять хранилище триплетов. Это файл docker -compose.yml, который я использовал:
version: '3'
services:
triplestore:
image: lyrasis/blazegraph:2.1.5
ports:
- "9999:9999"
restart: on-failure
networks:
- jacks-net
api:
build: .
ports:
- "8080:8080"
networks:
- jacks-net
networks:
jacks-net:
Когда дело дошло до производства, я попытался использовать Heroku для развертывания приложения docker -compose, чтобы обнаружить, что Heroku не кажется поддержать это. Я смог разместить API только в Heroku, используя следующий Dockerfile:
FROM openjdk:8-jdk-alpine
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
Я также пытался разместить API и Triplestore отдельно, используя Docker и Heroku для Spring-Boot API, который появился отлично работает Я попытался использовать исполняемые возможности jar Heroku для размещения файла bigdata.jar, предоставленного Blazegraph, безуспешно.
Я был бы очень признателен за некоторые предложения и рекомендации относительно лучшего пути продвижения вперед. Как разместить экземпляр Blazegraph для использования с моим API весенней загрузки? Могу ли я использовать файл docker -compose.yml, который я использую локально?
Заранее спасибо за помощь :)