我正在使用docker构建python文件。在此python文件中,我import cx_Oracle
使用oracle做某事。我可以通过三进制成功运行python文件:
[root@master files]# python3 myfile.py
然后我基于此文件构建一个docker映像。这是Dockerfile
的内容:
FROM python:3.6
ENV PYTHONPATH /root/files
WORKDIR ./
COPY myfile.py ./
CMD [ "python3", "myfile.py" ]
然后构建图像:
[root@master files]# docker build -f Dockerfile -t test:1.0 .
建设成功。但是,当我尝试通过docker run --name test test:1.0
运行图像时,出现了一个错误:
Traceback (most recent call last):
File "TimedTransfer.py", line 4, in <module>
from Transfer import TransferTPI
File "/Transfer.py", line 7, in <module>
import cx_Oracle
ModuleNotFoundError: No module named 'cx_Oracle'
有人可以告诉我如何解决此问题吗?
答案 0 :(得分:3)
您可以在Dockerfile中添加一行,然后Dockerfile将如下所示:
public String[] Any()
{
IEnumerable<string> lastSixMonths = Enumerable.Range(0, 6).Select(i => DateTime.Now.AddMonths(i - 6).ToString("MM/yyyy"));
// Now we convert it into an array.
string[] returned = lastSixMonths.ToArray();
return returned;
}
然后该映像将包含'cx_Oracle'模块。