1

我需要通过将本地语言服务器包含在 dockerfile 中来将其作为 docker 容器运行。我只按照“提供 Xtext 语言服务器”下的部分构建了一个简单的语言服务器。这是我为构建映像而编写的 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 工作区文件夹。当我尝试构建此 dockerfile 时,出现此错误: ADD failed: stat /var/lib/docker/tmp/docker-builder342449789/xtextls3

将我的语言服务器包含在 dockerfile 中并从中构建 docker 映像的正确方法是什么?

4

2 回答 2

0

看来我应该说明与上下文目录相关的路径(我在命令提示符中的当前位置)。我将 .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”是我需要的二进制文件。

于 2018-10-04T08:50:27.410 回答
0

我可能认为问题出在 ADD 行。这会将本地文件添加xtextls3到您的图层。但是,找不到该文件。我的想法是你必须交换 ADD 指令的第一个和第二个参数。

于 2018-10-02T11:18:11.670 回答