簡體   English   中英

dockerfile 中的 python 路徑

[英]python path in dockerfile

我正在嘗試使用 python 腳本對我的 java 應用程序進行 dockerize,該腳本將在 java 代碼的某個時間點執行。 我是 docker 的新手。 因此,我面臨執行 python 腳本的問題,因為它找不到模塊: import psycopg2 ImportError: No module named psycopg2 這是我的 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"]

我想我想念正確安裝模塊的 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"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM