2017-09-27 10 views
0

작은 파이썬 응용 프로그램을 도킹하려고합니다. Python 코드는 PyQt4 라이브러리를 사용합니다. 이 응용 프로그램에는 이미지를 빌드 할 때 실행되는 테스트 단위가 있습니다. 다음과 같은 뭔가 : 나는 다음과 같은 오류가 이미지를 빌드 할 때 파이썬 코드의 PyQt4 라이브러리가 일을 할 수있는 X 서버를 필요로PyQt4 라이브러리를 사용하여 파이썬 응용 프로그램으로 도커 이미지 빌드

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

하지만, 고정 표시기는 불행하게도, 따라서 하나없는 :

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 서버가 없다면)가 작동할까요? 나는

답변

0

시도는 그래서 --build-arg 명령을 사용하여 ... 그렇게 생각하지 않습니다

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

+0

아니, 그것은 일을 did't. 같은 오류. 그러나 제안에 감사드립니다. – DarioB