docker run image导致语法错误/ bin/sh

agn*_*hot 3 syntax image docker

当我在我的图像上运行docker命令时,它会出错.关于我应该在我的Dockerfile中包含CMD的任何想法?目前我java -jar my.jar在里面.

docker run startlog
/bin/sh: 1: Syntax error: Unterminated quoted string
Run Code Online (Sandbox Code Playgroud)

BMi*_*tch 7

从你的评论(这应该是你的问题的编辑):

FROM openjdk:8
RUN mkdir -p /tmp/startlog/
ADD gs-rest-hateoas-0.1.0.jar /tmp/startlog/
EXPOSE 8080
ENTRYPOINT ["java", "-jar", “/tmp/startlog/gs-rest-hateoas-0.1.0.jar"]
Run Code Online (Sandbox Code Playgroud)

你没有前面的双引号/tmp/startlog,而是你有一个"智能引用",它对编程无效.请抛弃所创建的任何编辑器,不要再使用它进行编码.

智能引用发生的事情是入口点json不是有效的json,所以它运行为

/bin/sh -c '["java", "-jar", “/tmp/startlog/gs-rest-hateoas-0.1.0.jar"]'
Run Code Online (Sandbox Code Playgroud)

在/ bin/sh查找命令之前,["java",它会看到具有不匹配引号的解析问题.