亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從 docker 容器內的 java/spring-boot 項目運行 python 腳本?

如何從 docker 容器內的 java/spring-boot 項目運行 python 腳本?

翻閱古今 2022-10-26 16:47:32
我正在嘗試將我的 Ubuntu 16.04 服務器上的服務遷移到 docker 18.09.2(以便我可以利用 kubernetes)。我的問題是讓一個 Jar 在 Docker 中工作,就像它在我的本地機器和服務器上一樣。也就是說,我試圖在我的 Java Spring Boot 應用程序中運行一個 python 腳本,捕獲 Python 的輸出,然后顯示文本。這在我的本地機器上運行良好,但是當我在 docker 基礎映像上構建它并運行它時,什么也沒有發生(即從 Buffered Reader 返回空值)基礎 docker 鏡像是“openkbs/jre-mvn-py3”?!癏elloWorld.py”文件位于 SpringBoot 項目目錄中。從 openkbs 的文檔(https://hub.docker.com/r/openkbs/jre-mvn-py3/)中,我在我的 processString 中嘗試了一些不同的命令,但沒有任何效果。類似的命令:docker run -it --rm openkbs/jdk-mvn-py3 python3 -c 'print("Hello World")'docker run -i --rm openkbs/jdk-mvn-py3 python3 < HelloWorld.py以下是我的相關配置和代碼行:Dockerfile:FROM openkbs/jdk-mvn-py3ADD target/dockerMaster.jar dockerMaster.jarEXPOSE 8080ENTRYPOINT ["java", "-jar", "dockerMaster.jar"]爪哇:    @RequestMapping("/pytest")    public String pytest() {        Runtime rt = Runtime.getRuntime();        String processString = "python3 HelloWorld.py";        System.out.println(processString);        try {            Process extractProcess = rt.exec(processString);            BufferedReader input = new BufferedReader(new InputStreamReader(extractProcess.getInputStream()));            String pyString = input.readLine();            return new String("<PYSTUFF>SUCCESS " + pyString + "</PYSTUFF>");        } catch (IOException e) {            e.printStackTrace();            return new String("<FAIL>PYTHON DID NOT RUN</FAIL>");        }     }Python:print("Hello World")
查看完整描述

1 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

您沒有將 HelloWorld.py 文件放入容器中,這就是它無法正常工作的原因,您需要將 HelloWorld.py 添加到容器中,并確保將 python 安裝在容器中。


FROM openkbs/jdk-mvn-py3

ADD target/dockerMaster.jar dockerMaster.jar

ADD target/HelloWorld.py HelloWorld.py

EXPOSE 8080

ENTRYPOINT ["java", "-jar", "dockerMaster.jar"]


查看完整回答
反對 回復 2022-10-26
  • 1 回答
  • 0 關注
  • 225 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號