您好我有一个 python 项目包含以下结构在我的项目目录中$ lsmodels main.py Dockerfile其中 models 是一个目录,这样$ cd models$ lsmodel.py utils.py evaluation __init__.py在我的main.py文件中,我有类似的东西from models import model在我的model.py档案中我有from .utils import *from evaluation import somefile我正在尝试创建一个 docker 图像,我按照以下教程进行操作DockerfileFROM python:3.7.2-slimCOPY requirements.txt requirements.txtRUN pip install -r requirements.txtCOPY main.py /CMD [ "python", "./main.py" ]在哪里requirements.txt安装numpy等跑步docker build -t test很好,并相应地创造事物。但是当我跑的时候docker run test。它给出了错误Traceback (most recent call last): File "./main.py", line 1, in <module> from models import modelModuleNotFoundError: No module named 'models'我假设执行时也有错误,from .utils import *甚至上述错误也已解决。from evaluation import somefilemodel.py我想我认为我没有理解依赖关系在Docker中是如何工作的,没有正确解决依赖关系。这段代码在以 python 方式运行时工作正常,例如$ python main.py在终端中。我找不到这部分的任何文件。有什么帮助吗?谢谢
1 回答
交互式爱情
TA贡献1712条经验 获得超3个赞
错误是你COPY main.py /
在Dockerfile
.
您正在复制main.py
文件。
相反,将该行替换为
COPY . .
这也将移动其他文件夹和文件。
添加回答
举报
0/150
提交
取消