【发布时间】:2020-12-04 13:56:17
【问题描述】:
全部!我是 docker 新手,遇到了如何将 Spring Boot 应用程序与 python 3 结合起来的问题,它是 opencv 和 numpy 等库。我需要它,因为我的服务器使用 python 脚本来处理图像。
我尝试了很多我在此处阅读的方法(在 StackOverflow 中):我尝试将 alpine 和 ubuntu 作为基础映像,我尝试进行多阶段构建...这是我对 ubuntu 的尝试之一:
FROM ubuntu:20.04
RUN apt install openjdk-14-jre-headless
RUN apt install -y python3-pip
RUN apt install build-essential libssl-dev libffi-dev python3-dev
RUN pip3 install numpy && pip3 intall opencv-python
EXPOSE 8080
COPY ./scripts ./scripts
ARG JAR_FILE=target/*.jar
ADD ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
还有另一个包含适当库的基础映像:
FROM patavee/scipy-matplotlib-opencv-py3
FROM openjdk:14
EXPOSE 8080
COPY ./scripts ./scripts
ARG JAR_FILE=target/*.jar
ADD ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
我应该尝试什么才能成功?
【问题讨论】:
-
第一个 Dockerfile 看起来不错;第二个是忽略 Python 图像的多阶段构建(无法组合两个不同的图像)。您遇到了什么问题,尤其是第一张图片?
-
警告:apt 没有稳定的 CLI 界面。在脚本中谨慎使用。和 E:无法找到包 openjdk-14-jre-headless
-
但它是 Ubuntu 的常用包
-
你需要先
apt-get update,可能和apt-get install在同一行RUN。 -
它对我有用!但是现在我在服务器端有一些奇怪的例外情况,而我的 PC 中没有这些例外情况。但我认为这是另一个问题。谢谢。
标签: python-3.x spring-boot docker numpy opencv