Как мне справиться с проблемой развернутого весеннего облачного приложения в докере с доступом к общим файлам записи и чтения? - PullRequest
0 голосов
/ 28 марта 2019

Я развернул весеннее облачное приложение в докере. Весеннее облачное приложение использует доступ к файлу изображения. Когда я развернул весеннее облачное приложение в докере по dockerfile.В локальной среде разработки , я могу получить доступ к файлу рисунка. Когда я развернул приложение в докере, оно вызывает ошибку. Это показывает, что приложение весеннего облака не находит файл на хост-компьютере.Что мне нужно для решения проблемы?

Я попытался скопировать файл изображения хост-компьютера в путь к докеру volumne.Но это не может работать.

Мой хост-компьютер пути к файлу изображения в файле yml моего приложения выглядит следующим образом.

originImgPath: /tmp/tcps/klanalyze/originImg
captchaImgPath: /tmp/tcps/klanalyze/captchaImg

Изображение, сохраненное на пути к хост-компьютеру, выглядит следующим образом.

/tmp/tcps/klanalyze/originImg
/tmp/tcps/klanalyze/captchaImg

Мой файл докера по пакетам выглядит следующим образом.

FROM jdk-8u191:20190321

MAINTAINER beigai_liyang

VOLUME /tmp

ADD  target/klanalyze-gateway-0.0.1-SNAPSHOT.jar app.jar

RUN bash -c 'touch /app.jar'

EXPOSE 8888

ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar" ]

Мой код такой.

//read yml setting
@Autowired
private GatewayProperty gatewayProperty;

public void loadPicture(){
   ……
   //load file
   File file = new File(gatewayProperty.getOriginImgPath());
   ……
}

Моя версия докера 17.12.1-ce,

Моя весенняя облачная версия - Finchley.SR1.

Моя загрузочная версия Spring - 2.0.3.RELEASE.

Мой главный компьютер - cent-os 7.

1 Ответ

0 голосов
/ 28 марта 2019

Похоже, вам нужно использовать -v для монтирования вашего хоста напрямую в / tmp том.

docker run -v / tmp: / tmp image_name

проблемы:

  1. Не очень разумно "копировать файл изображения хост-компьютера в путь к док-станции volumne"

  2. Здесь указана команда запуска docker, чтобы мы могли видеть, как вы запускаете контейнер

...