为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 docker 与 java 应用程序一起运行 shell 脚本?

如何使用 docker 与 java 应用程序一起运行 shell 脚本?

海绵宝宝撒 2022-06-15 10:28:54
以下是我的 Dockerfile,我将一个文件夹和两个 java jar 文件复制到图像上,目的是执行复制目录中的脚本文件,然后执行两个 java 应用程序。FROM openjdk:latestCOPY ./mycluster /dir/latest/COPY ./app1.jar /dir/latest/COPY ./app2.jar /dir/latest/ CMD ["sh", "-c", "cd /dir/latest/ ;./local_cluster_startup.sh ./;sleep 5 ;java -jar app2.jar;sleep 5;java -jar app1.jar;"]构建 docker 映像并运行以下命令docker container run tryout:nsdap后,输出为sh: 1: cd: can't cd to /dir/latest/sh: 1: ./local_cluster_startup.sh: not foundError: Unable to access jarfile app2.jarError: Unable to access jarfile app1.jar谁能告诉我这里做错了什么?我正在寻找能够执行 java jars 和 shell 脚本的最小 docker 映像。你能帮帮我吗?谢谢
查看完整描述

1 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

使用 WORKDIR ( https://docs.docker.com/engine/reference/builder/#workdir ) 切换到目录“/dir/latest”。然后你可以从那个目录运行你的命令

WORKDIR /dir/latest
CMD ["./local_cluster_startup.sh ;sleep 5 ;java -jar app2.jar;sleep 5;java -jar app1.jar;"]



查看完整回答
反对 回复 2022-06-15
  • 1 回答
  • 0 关注
  • 92 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信