在Ubuntu 16.04中设置PYTHONPATH以使Docker镜像正常运行

时间:2017-06-26 07:54:19

标签: python ubuntu docker gunicorn

我有一个运行gunicorn进程的docker镜像,但每次运行时我都会收到错误driver.find_element_by_xpath('//div[@id="abc"]//span[@class="btn"]').click() 。所以我正在关注this SO post来解决这个问题。

然而,当我跑

ImportError: No module named 'crm'

容器吐了一个

ENTRYPOINT ["PYTHONPATH=`pwd`/..", "/usr/local/bin/gunicorn", "web_interface:app", "-w 4", "-t 90", "--log-level=debug", "-b 0.0.0.0:8000",  "--reload"]

知道如何运行PYTHONPATH命令吗?

我应该声明它在我的Mac上本地工作,但不能在Ubuntu容器中工作。

我尝试过:

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" {PWD {1}}

"PYTHONPATH=

/.."

2 个答案:

答案 0 :(得分:12)

您应该使用ENV指令在ENTRYPOINT之外定义环境:

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"]

答案 1 :(得分:0)

所以这似乎正在发挥作用

ENTRYPOINT ["/usr/local/bin/gunicorn", "--pythonpath=`$PWD`/..", "web_interface:app", "-w 4", "-t 90", "--log-level=debug", "-b 0.0.0.0:8000",  "--reload"]