无法在Docker映像中导入本地Python模块

时间:2018-11-27 21:39:36

标签: python docker conda

我已经在名为/service的目录中创建了一个包含python项目的Docker映像。 Dockerfile看起来像:

FROM continuumio/miniconda:latest

SHELL ["/bin/bash", "-c"]

ADD . /service

WORKDIR /service

RUN conda env create -n my-env -f=environment.yml
RUN python setup.py develop

CMD ["/bin/bash"]

在本地,要从/service运行项目

source activate my-env
cd src
python app.py

它可以正常运行。运行Docker映像时,如果执行相同操作,则会收到错误消息

Traceback (most recent call last):
  File "app.py", line 3, in <module>
    from src.core.metrics.metrics import ACTIVE

我已经确认src/core/metrics/metrics.py确实包含在映像中,并且文件结构与本地项目的文件结构相同。

我还添加了

import os
print(os.getcwd())

app.py的开头,以查看当前工作目录是否存在问题。在本地打印结果为/full/path/to/project/service/src。在Docker映像中,打印结果为/service/src,这似乎表明正确的cwd。

为什么python app.py在图片中不起作用?

0 个答案:

没有答案