Java dockerfile中的python路径

Java dockerfile中的python路径,java,python,docker,Java,Python,Docker,我正试图用一个python脚本将我的java应用程序固定化,该脚本将在某个时候从java代码中执行。我是码头工人的新手。所以,我面临执行python脚本的问题,因为它找不到模块:import-psycopg2-ImportError:没有名为psycopg2的模块。这是我的文件 FROM python:2.7-alpine RUN apk update && \ apk add --virtual build-deps gcc python-dev musl-dev &

我正试图用一个python脚本将我的java应用程序固定化,该脚本将在某个时候从java代码中执行。我是码头工人的新手。所以,我面临执行python脚本的问题,因为它找不到模块:
import-psycopg2-ImportError:没有名为psycopg2的模块。这是我的文件

FROM python:2.7-alpine

RUN apk update && \
    apk add --virtual build-deps gcc python-dev musl-dev && \
    apk add postgresql-dev

RUN mkdir /usr/src/app
WORKDIR /usr/src/app    

RUN pip install psycopg2
RUN pip install -U "pip==1.5.4"
RUN pip install cql
RUN pip install chardet

ENV PYTHONPATH "${PYTHONPATH}:/usr/src/app"

FROM openjdk:8
EXPOSE 9000
ADD target/my_jar.jar my_jar.jar
ENTRYPOINT ["java","-jar","/my_jar.jar"]
我想我错过了正确安装模块的python路径

您需要运行:

pip --target=/usr/src/app install psycopg2
允许
pip
在该文件夹中安装文件

因此,您的
dockerfile
文件应该是:

FROM python:2.7-alpine

RUN apk update && \
    apk add --virtual build-deps gcc python-dev musl-dev && \
    apk add postgresql-dev

RUN mkdir /usr/src/app
WORKDIR /usr/src/app    

RUN pip --target=/usr/src/app install psycopg2
RUN pip --target=/usr/src/app install -U "pip==1.5.4"
RUN pip --target=/usr/src/app install cql
RUN pip --target=/usr/src/app install chardet


FROM openjdk:8
EXPOSE 9000
ENV PYTHONPATH "${PYTHONPATH}:/usr/src/app"
ADD target/my_jar.jar my_jar.jar
COPY --from=0 /usr/src/app /usr/src/app
ENTRYPOINT ["java","-jar","/my_jar.jar"]
您需要运行:

pip --target=/usr/src/app install psycopg2
允许
pip
在该文件夹中安装文件

因此,您的
dockerfile
文件应该是:

FROM python:2.7-alpine

RUN apk update && \
    apk add --virtual build-deps gcc python-dev musl-dev && \
    apk add postgresql-dev

RUN mkdir /usr/src/app
WORKDIR /usr/src/app    

RUN pip --target=/usr/src/app install psycopg2
RUN pip --target=/usr/src/app install -U "pip==1.5.4"
RUN pip --target=/usr/src/app install cql
RUN pip --target=/usr/src/app install chardet


FROM openjdk:8
EXPOSE 9000
ENV PYTHONPATH "${PYTHONPATH}:/usr/src/app"
ADD target/my_jar.jar my_jar.jar
COPY --from=0 /usr/src/app /usr/src/app
ENTRYPOINT ["java","-jar","/my_jar.jar"]

一旦从openjdk:8运行,您的Python代码就不存在了。您不是从Python容器复制它……只要从openjdk:8运行它,您的Python代码就不存在了。您不是从Python容器复制它。。。