如何在docker文件中设置环境variables?

我的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