Как подключиться к внешней службе из приложения, развернутого на docker? - PullRequest
0 голосов
/ 04 мая 2020

У меня есть приложение, которое использует встроенный сервер janusgraph.

Приложение работает нормально, когда оно развернуто непосредственно на сервере (голое железо).

Однако я получаю ошибка соединения, когда я запускаю образ на docker.

Вот файл docker, который я использую:

FROM *****.ecr.us-east-1.***.com/java8:latest
ADD my-api/target/my-api-0.0.4-FINAL.zip  /opt/
WORKDIR /opt/
RUN unzip my-api-0.0.4-FINAL.zip
WORKDIR /opt/my-api-0.0.4/bin/
RUN chmod +x /opt/my-api-0.0.4/bin/runserverscript.sh
RUN mkdir /data
EXPOSE 8181
CMD exec /opt/my-api-0.0.4/bin/runserverscript.sh

, а вот конфигурация janusgraph: (который я подключение к внешней базе данных)

storage.backend=cql
storage.cql.keyspace=a_graph
storage.cql.read-consistency-level=ONE
storage.hostname=10*.**.2.**
cache.db-cache = true
cache.db-cache-clean-wait = 20
cache.db-cache-size = 0.5
cache.db-cache-time = 180000

Я создаю образ с помощью следующей команды:

docker build --tag my-api:latest .

и запускаю контейнер с помощью:

docker run --publish 7171:7171 --name myapi my-api:latest

и получаю проблема с подключением выглядит следующим образом:

Загрузка .. График Config: ja-staging.properties Сервер не может быть запущен, ОШИБКА: Ошибка создания компонента с именем '': Ошибка внедрения зависимостей с автопроводкой; вложенное исключение: org.springframework.beans.factory.BeanCreationException: не удалось автоматически связать поле: private XXXService XXXService; вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем followService: сбой внедрения зависимостей с автопроводкой; вложенным исключением является org.springframework.beans.factory.BeanCreationException: не удалось автоматически связать поле: private gggService gService; вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка создания бина с именем 'graphService': сбой вызова метода init; вложенное исключение: java .lang.IllegalArgumentException: Не удалось создать экземпляр реализации: org.janusgraph.diskstorage.cql.CQLStoreManager

1 Ответ

0 голосов
/ 08 мая 2020

Переустановка docker с моей машины ma c решила проблему для меня.

Я не знаю, почему это происходило. Но после нескольких дней борьбы я переустановил docker, и все заработало нормально.

...