用python应用程序使用PyQt4库构builddocker图像

我正在试图dockerise一个小型的python应用程序。 python代码使用PyQt4库。 该应用程序有一些testing单位,我运行时,我build立的形象。 像下面这样:

RUN [ "/bin/bash", "-c", "source activate conda_environment && python -m unittest tests/tests_html_consistency.py" ] 

python代码中的PyQt4库需要一个X服务器来完成它的任务,但是docker没有,所以,不幸的是,当我生成图像时,我得到以下错误:

 python -m unittest: cannot connect to X server 

在其他类似的堆栈问题上,我发现可能的解决scheme是简单地将X服务器的套接字作为Docker卷装入,并告诉Docker使用它。

 docker run -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY TheImage 

但是如何在图像构build时做到这一点? 上述命令仅在图像已经build立时才起作用,在“docker运行”时间。 而且,如果主机是一个aws实例(因此没有x服务器)会工作吗? 我不这么认为

尝试使用--build-arg命令,如下所示:

docker build -t yourContainer --build-arg DISPLAY=$DISPLAY .