Как запустить толстую банку в докере? - PullRequest
0 голосов
/ 27 апреля 2018

Я хочу запустить свой толстый JAR в контейнере Docker

Файл Docker

FROM java:8-jre
COPY config.yml /opt/hello/
COPY build/libs/Dockerwizard.jar /opt/hello/
EXPOSE 80
WORKDIR /opt/hello
CMD ["java", "-Xms128m", "-Xmx1500m", "-Dfile.encoding=UTF-8", "-jar", "Dockerwizard.jar", "server", "config.yml"]

Каждый раз, когда я бегу

docker build --tag=myapp .

и

docker run -p 18080:8080 -t -i myapp

Я получаю сообщение

Error: Unable to access jarfile Dockerwizard.jar

Как я могу решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Попробуйте изменить WORKDIR в вашем Dockerfile

WORKDIR /opt/chat неверно

Это должно быть /opt/hello

Обновление

Вы обновили вопрос и переименовали везде /chat в /hello, поэтому вы исправили свою ошибку / ошибку

0 голосов
/ 27 апреля 2018

Там написано:

COPY build/libs/Dockerwizard.jar /opt/hello/
...WORKDIR /opt/chat

Итак, вы помещаете банку в /opt/hello, но затем вы хотите запустить ее с /opt/chat.

Возможно, вы захотите использовать непротиворечивую информацию о пути. Кроме того, когда вы не используете опцию -cp в java, у вас всегда есть проблема, что ваш CLASSPATH может быть неполным. Так что попробуйте добавить -cp . например.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...