Docker точка входа не может найти файл - PullRequest
0 голосов
/ 04 июня 2018

У меня есть очень простой файл сборки Docker:

FROM openjdk:10

ENV JENAVERSION=3.7.0

RUN mkdir /fuseki

RUN wget http://apache.claz.org/jena/binaries/apache-jena-fuseki-$JENAVERSION.tar.gz -P /tmp \
    && tar -zxvf /tmp/apache-jena-fuseki-$JENAVERSION.tar.gz -C /tmp \
    && mv -v /tmp/apache-jena-fuseki-$JENAVERSION/* /fuseki

EXPOSE 3030

ENTRYPOINT ["/bin/bash", "/fuseki/fuseki-server"]

Я пробовал разные варианты CMD и ENTRYPOINT, но ничто не позволяет выполнять "fuseki-server".Всегда ошибка «Нет такого файла или каталога».Если я вручную создаю пустой контейнер из openjdk: 10 и выполняю каждую команду вручную, это работает нормально.Что происходит?

Ответы [ 3 ]

0 голосов
/ 04 июня 2018

Ух ты ... После того, как я прочитал предложение @ larsk, мне пришло в голову изменить точку входа на

ENTRYPOINT ["tail", "-f", "/dev/null"] 

и войти в контейнер, чтобы увидеть, что на самом деле там было.Оказывается, я случайно переписал папку / fuseki объявлением тома в используемом мной файле compose.(Facepalm ...)

0 голосов
/ 10 мая 2019

Я думаю, что проблема в окончании линии - точка входа должна иметь конец строки LF.Я получаю ту же ошибку, когда в моей точке входа заканчивается строка CLRF.

0 голосов
/ 04 июня 2018

Если я собираю и запускаю ваш Dockerfile, я получаю ошибку, отличную от описанной вами.Я вижу:

Can't find jarfile to run

Если вы посмотрите на скрипт оболочки fuseki-server, он пытается найти файл jar относительно вашего текущего каталога или переменной среды $FUSEKI_HOME:

export FUSEKI_HOME="${FUSEKI_HOME:-$PWD}"

if [ ! -e "$FUSEKI_HOME" ]
then
    echo "$FUSEKI_HOME does not exist" 1>&2
    exit 1
    fi

JAR1="$FUSEKI_HOME/fuseki-server.jar"
JAR2="$FUSEKI_HOME/jena-fuseki-server-*.jar"
JAR=""

Итак, если вы установите переменную окружения FUSEKI_HOME в вашем Dockerfile:

ENV FUSEKI_HOME=/fuseki

, тогда контейнер запустится без ошибок:

[2018-06-04 14:02:17] Server     INFO  Apache Jena Fuseki 3.7.0
[2018-06-04 14:02:17] Config     INFO  FUSEKI_HOME=/fuseki
[2018-06-04 14:02:17] Config     INFO  FUSEKI_BASE=/run
[2018-06-04 14:02:17] Config     INFO  Shiro file: file:///run/shiro.ini
[2018-06-04 14:02:18] Server     INFO  Started 2018/06/04 14:02:18 UTC on port 3030
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...