我试图从Docker运行Supervisord,但是在使用-javaagent参数运行Java时遇到了困难。它给出以下误差
Error opening zip file or JAR manifest missing : /usr/apps/executor.jar如果我简单地省略了-javaagent,它就会起作用。
我尝试了下面的选项,但仍然是相同的错误
"-javaagent:/usr/apps/executor.jar"
-javaagent:"/usr/apps/executor.jar" // Supervisor.conf
[supervisord]
nodaemon = true
user = root
loglevel = debug
[program:helloworld]
user = root
directory = /usr/apps
# this one will work
# command = /usr/bin/env java -jar /usr/apps/HelloWorld.jar
# this one will NOT work
command = /usr/bin/env java -javaagent:"/usr/apps/executor.jar" -jar /usr/apps/HelloWorld.jar
# this one will NOT work
#command = /usr/bin/env java "-javaagent:/usr/apps/executor.jar" -jar /usr/apps/HelloWorld.jar
# this one will NOT work
#command = /usr/bin/env java -javaagent:/usr/apps/executor.jar -jar /usr/apps/HelloWorld.jar// DockerFile
FROM openjdk:11
USER root
COPY ./HelloWorld.jar /usr/apps/HelloWorld.jar
CMD ["/usr/bin/supervisord","-n"]感谢任何帮助让这件事开始运作..。
发布于 2021-10-11 05:21:16
(来自评论)
打开压缩文件或JAR清单丢失的
错误:/usr/app/Executor.jar
将意味着文件不在容器中,因此无法读取。(这可以用例如docker build -t myimage .和docker run -it --rm myimage ls -la /usr/apps来验证;如果executor.jar不存在,它就.(不是在那里。)
您需要使用ADD或COPY命令确保文件确实在其中。
https://stackoverflow.com/questions/69494872
复制相似问题