您好我有一個 python 項目包含以下結(jié)構(gòu)在我的項目目錄中$ 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我正在嘗試創(chuàng)建一個 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很好,并相應(yīng)地創(chuàng)造事物。但是當(dāng)我跑的時候docker run test。它給出了錯誤Traceback (most recent call last): File "./main.py", line 1, in <module> from models import modelModuleNotFoundError: No module named 'models'我假設(shè)執(zhí)行時也有錯誤,from .utils import *甚至上述錯誤也已解決。from evaluation import somefilemodel.py我想我認為我沒有理解依賴關(guān)系在Docker中是如何工作的,沒有正確解決依賴關(guān)系。這段代碼在以 python 方式運行時工作正常,例如$ python main.py在終端中。我找不到這部分的任何文件。有什么幫助嗎?謝謝
1 回答

交互式愛情
TA貢獻1712條經(jīng)驗 獲得超3個贊
錯誤是你COPY main.py /
在Dockerfile
.
您正在復(fù)制main.py
文件。
相反,將該行替換為
COPY . .
這也將移動其他文件夾和文件。
添加回答
舉報
0/150
提交
取消