在Ubuntu 16.04中设置PYTHONPATH,让Docker映像正常运行
我有一个运行gunicorn进程的docker镜像,但每次运行时,都会出现ImportError: No module named 'crm'
named'crm ImportError: No module named 'crm'
。 所以我正在关注这个SOpost来解决这个问题。
但是,当我跑步
ENTRYPOINT ["PYTHONPATH=`pwd`/..", "/usr/local/bin/gunicorn", "web_interface:app", "-w 4", "-t 90", "--log-level=debug", "-b 0.0.0.0:8000", "--reload"]
该容器吐了一口
ERROR: for web Cannot start service web: oci runtime error: container_linux.go:247: starting container process caused "exec: \"PYTHONPATH=`pwd`/.. \": stat PYTHONPATH=`pwd`/.. : no such file or directory"
任何想法如何运行PYTHONPATH命令?
我应该说,它在我的Mac本地工作,但不是在Ubuntu容器。
我曾经尝试过:
"PYTHONPATH=
pwd /.."
"PYTHONPATH=$(pwd)/.."
"PYTHONPATH=$PWD/.."
您应该使用ENV
指令定义ENTRYPOINT
之外的ENV
:
ENV PYTHONPATH /absolute/path/to/the/pythonpath/inside/the/container ENTRYPOINT ["/usr/local/bin/gunicorn", "web_interface:app", "-w 4", "-t 90", "--log-level=debug", "-b 0.0.0.0:8000", "--reload"]
所以这似乎是工作
ENTRYPOINT ["/usr/local/bin/gunicorn", "--pythonpath=`$PWD`/..", "web_interface:app", "-w 4", "-t 90", "--log-level=debug", "-b 0.0.0.0:8000", "--reload"]