简体   繁体   English

dockerfile 中的 python 路径

[英]python path in dockerfile

I am trying to dockerize my java app with a python script that will execute at some point from java code.我正在尝试使用 python 脚本对我的 java 应用程序进行 dockerize,该脚本将在 java 代码的某个时间点执行。 I am newbie to docker.我是 docker 的新手。 So, i am facing issue with execute python script because it doesn't find module: import psycopg2 ImportError: No module named psycopg2 .因此,我面临执行 python 脚本的问题,因为它找不到模块: import psycopg2 ImportError: No module named psycopg2 this is my Dockerfile.这是我的 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 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"]

I think i miss python path to install modules correctly.我想我想念正确安装模块的 python 路径。

you need to run:你需要运行:

pip --target=/usr/src/app install psycopg2

to allow pip to install the files in that folder允许pip安装该文件夹中的文件

so your dockerfile schould be something like:所以你的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"]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM