0
我想dockerise一個小型的python應用程序。 python代碼使用PyQt4庫。該應用程序有一些測試單元,我在構建映像時運行。像下面這樣:使用PyQt4庫建立碼頭圖像與python應用程序
RUN [ "/bin/bash", "-c", "source activate conda_environment && python -m unittest tests/tests_html_consistency.py" ]
在Python代碼的PyQt4的庫需要一個X服務器做它的事情,但碼頭工人沒有一個,所以,不幸的是,當我建我碰到下面的錯誤形象:
python -m unittest: cannot connect to X server
在其他類似的堆棧問題,我發現一個可能的解決方案是簡單地安裝插座X服務器作爲一個泊塢窗的體積,並告訴碼頭工人使用該代替。
docker run -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY TheImage
但是我如何在圖像構建時做到這一點?上述命令僅在圖像已經構建時運行,即在「碼頭運行」時。而且,如果主機是aws實例(因此沒有x服務器)是否可以工作?我不這麼認爲......使用--build-arg
命令
不,這我以前不工作。同樣的錯誤。但謝謝你的建議,這是有道理的。 – DarioB