簡體   English   中英

使用PyQt4庫使用python應用程序構建docker映像

[英]Build docker image with python application using PyQt4 library

我正在嘗試將一個小型python應用程序碼頭化。 python代碼使用PyQt4庫。 該應用程序具有一些在構建映像時運行的測試單元。 類似於以下內容:

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

python代碼中的PyQt4庫需要X服務器來完成其工作,但是docker沒有X服務器,因此,不幸的是,當我構建映像時,出現以下錯誤:

python -m unittest: cannot connect to X server 

在其他類似的堆棧問題上,我發現一種可行的解決方案是將X服務器的套接字作為Docker卷掛載,然后告訴Docker使用它。

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

但是如何在映像構建時執行此操作? 上面的命令僅在“ docker run”時已構建映像時有效。 此外,如果主機是aws實例(因此不帶x服務器)將可以正常工作嗎? 我不這么認為

嘗試使用--build-arg命令,這樣:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM