我的dockerfile的CMD是这样的: ["python", "myproject/start_slide_server.py"]
然而为了这个工作,我需要设置PYTHONPATH为/app ,这是我的项目的父目录
如果我启动docker进程并用bash覆盖CMD ,我可以运行以下命令
root@42e8998a8ff7:/app# export PYTHONPATH=. root@42e8998a8ff7:/app# python myproject/start_slide_server.py * Running on http://0.0.0.0:8090/ (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger PIN: 236-035-556
它按预期工作
现在我添加该行
RUN export PYTHONPATH=/app
之前
CMD ["python" , "myproject/start_slide_server.py"]
它只是失败
Traceback (most recent call last): File "/app/myproject/start_slide_server.py", line 23, in <module> from myproject import env ImportError: No module named myproject
RUN线似乎没有任何影响
我真的不想在docker命令级别定义ENV ,因为这个PYTHONPATH不会从一个图像更改为下一个。
我怎样才能做到这一点?
我可以使用ENV指令
ENV PYTHONPATH /app