[英]How to run a python script in Java program using Docker container?
i am new to docker and trying to dockerize a java app, which in turn calls a python script我是 docker 的新手,并试图对接 java 应用程序,该应用程序又调用 python 脚本
Dockerfile: Dockerfile:
FROM openjdk:8-jdk-alpine
ARG JAR_FILE=target/*.jar
ARG SCRIPT_FILE=src/main/resources/script/test.py
COPY ${JAR_FILE} app.jar
COPY ${SCRIPT_FILE} test.py
ENTRYPOINT ["java","-jar","/app.jar"]
Now my App has a line of code which executes a python script, something like this: Code snippet:现在我的应用程序有一行代码执行 python 脚本,如下所示: 代码片段:
String interpretor = "python";
String scriptFile = "test.py";
String arguments = "ping";
String[] cmd = {interpretor,scriptFile,arguments};
try {
Process p = Runtime.getRuntime().exec(cmd);
...
Exception:例外:
java.io.IOException: Cannot run program "python": error=2, No such file or directory
Any help appreciated.任何帮助表示赞赏。 Thanks
谢谢
Python runtime does not exist in the base image openjdk:8-jdk-alpine
, you need to install it first before calling python script. Python 运行时在基础镜像
openjdk:8-jdk-alpine
中不存在,您需要在调用 python 脚本之前先安装它。
You can try below你可以试试下面
FROM openjdk:8-jdk-alpine
RUN apk add --no-cache python
ARG JAR_FILE=target/*.jar
ARG SCRIPT_FILE=src/main/resources/script/test.py
COPY ${JAR_FILE} app.jar
COPY ${SCRIPT_FILE} test.py
ENTRYPOINT ["java","-jar","/app.jar"]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.