@AsphaltHero_0
Road to DevOps

Как запустить jar файл в контейнере docker?

Dockerfile

FROM java:8
#Пробую так же с FROM ubuntu
#RUN apt install -y openjdk-8-jdk
RUN mkdir -p /vagrant/Docker/app
WORKDIR /vagrant/Docker/app
COPY . /vagrant/Docker/app

#
EXPOSE 9000
ENV TZ Europe/Yekaterinburg
CMD ["-jar", "/vagrant/Docker/app/app.jar"]

Ошибка с образом java:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "-jar": executable file not found in $PATH: unknown.
Ошибка с образом ubuntu:
Error: Unable to access jarfile app.jar

Через командную строку линукс запуска файла выглядит как java -jar app.jar. И что для этого использовать CMD или ENTRYPOINR? И как будет выглядеть конструкция?
  • Вопрос задан
  • 1590 просмотров
Решения вопроса 1
karabanov
@karabanov Куратор тега Docker
Системный администратор
WORKDIR - сам создаёт директорию, вызывать отдельно RUN mkdir -p ... не надо.

EXPOSE 9000 можешь не указывать - она ничего не делает.

Через командную строку линукс запуска файла выглядит как java -jar app.jar

И в Dockerfile эта команда будет такой же:
ENTRYPOINT ["java", "-jar", "/vagrant/Docker/app/app.jar"]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы