Как включить локальный языковой сервер в файл Docker и создать из него образ Docker?
Мне нужно запустить локальный языковой сервер в качестве контейнера докера, включив его в файл Docker. Я построил простой языковой сервер, следуя только разделу "Предоставление Xtext Language Server". Это Dockerfile, который я написал для создания образа:
FROM eclipse/che
ADD xtextls3 C:\Users\abc\xtext_ls3
RUN sudo apt-get install socat -y
CMD socat TCP4-LISTEN:4417,reuseaddr,form EXEC:"xtextls"
Я не знаю, правильно ли это. "xtextls3" - папка рабочей области eclipse, которую я использовал для создания своего языкового сервера. Когда я пытаюсь создать этот файл Docker, я получаю эту ошибку: ADD не удалось: stat /var/lib/docker/tmp/docker-builder342449789/xtextls3
Как правильно включить мой языковой сервер в файл Docker и создать из него образ Docker?
2 ответа
Кажется, что я должен указать путь по отношению к каталогу контекста (текущее местоположение я в командной строке). Я поместил мой файл.jar в ту же папку, где находится Dockerfile, и изменил содержимое Dockerfile следующим образом:
FROM barais/eclipse-xtend
ADD build/libs/dsl-language-server-ls.jar dsl-language-server-ls.jar
RUN sudo apt-get install socat
CMD socat TCP4-LISTEN:4417,reuseaddr,fork EXEC:"mydsl"
"build / libs / dsl-language-server-ls.jar" - это путь + файл, а "dsl-language-server-ls.jar" - это двоичный файл, который мне требуется.
Я мог бы подумать, что проблема заключается в линии ДОБАВИТЬ. Это добавляет локальный файл xtextls3
на ваш слой. Тем не менее, файл не может быть найден. У меня есть идея, что вы должны поменять местами первый и второй аргумент инструкции ADD.