如何在Docker容器中导入另一个Python文件?

我是Docker的新手,并制作了小型Flask api进行测试。 当我在本地运行它时,它工作得很好,但是当我尝试运行该图像时,出现错误消息:

File "customer_controller.py", line 2, in <module>
    from customer_api.data.customer_db import CustomerDb
ImportError: No module named customer_api.data.customer_db

目录结构:

customer_api
|
|-.dockerignore
|-customer_controller.py
|-Dockerfile
|-requirements.txt
|
|-data
  |
  |-customer_db.py

Dockerfile:

FROM ubuntu:16.04

RUN apt-get update -y && \
    apt-get install -y python-pip python-dev

COPY ./requirements.txt /app/requirements.txt

WORKDIR /app

RUN pip install -r requirements.txt

COPY . /app

ENTRYPOINT [ "python" ]

CMD [ "customer_controller.py" ]

如docker文件所示,在调用命令运行customer_controller.py之前,我尝试创建一个名为app的目录,然后将本地目录的内容复制到该目录中,但是我显然在某处出错。 任何帮助/想法,将不胜感激。

评论