2017-10-05 9 views
1

Docker 컨테이너 내부에서 실행중인 nvidia 하드웨어 가속을 얻으려고합니다. 지금까지 나는 성공하지 못한다. glxgears을 실행할 때 다음 오류가 발생합니다.GLXGears가 Docker 내부에서 작동하지 않습니다.

[email protected]:/# glxgears 
libGL error: No matching fbConfigs or visuals found 
libGL error: failed to load driver: swrast 
X Error of failed request: BadValue (integer parameter out of range for operation) 
    Major opcode of failed request: 154 (GLX) 
    Minor opcode of failed request: 3 (X_GLXCreateContext) 
    Value in failed request: 0x0 
    Serial number of failed request: 35 
    Current serial number in output stream: 37 

나는 현재 내가 모르는 내 고정 표시기 파일이

FROM osrf/ros:lunar-desktop-full 
# nvidia-docker hooks 
LABEL com.nvidia.volumes.needed="nvidia_driver" 
ENV PATH /usr/local/nvidia/bin:${PATH} 
ENV LD_LIBRARY_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64:${LD_LIBRARY_PATH} 

EXPOSE 11311 
EXPOSE 11345 

처럼 보인다 그리고

nvidia-docker run -it --volume=/tmp/.X11-unix:/tmp/.X11-unix --device=/dev/dri:/dev/dri --env="DISPLAY" my-custom-image 

와 컨테이너를 시작하는 컨테이너 요구의 내부 엔비디아 드라이버 동일한 버전이 있어야합니다. 그러나 이것이 심지어 문제인지를 어떻게 확인할 지 모르겠습니다.

nvidia-smi

+-----------------------------------------------------------------------------+ 
| NVIDIA-SMI 384.90     Driver Version: 384.90     | 
|-------------------------------+----------------------+----------------------+ 

내가 NVIDIA 고정 표시기 버전

답변

1

당신이 사용하는 어떤 성공없이 문제를 해결하기 위해 가이드로 this을 사용 말한다?

한 달 전까지 만해도 새로운 2.0 버전에서는 OpenGL 지원이 없었기 때문에 질문합니다. 지난 달 그들은 OpenGL을 기본 이미지로 사용하는 dockerfile을 만들었습니다.

https://hub.docker.com/r/nvidia/opengl/

GLX 기어 당신이 NVIDIA 드라이버가 호스트에 설치 한 가정 용기에 우분투 저장소 (메사 유틸)에서 작동해야하고 이미지를 실행할 때 당신이 X11 디스플레이 인수/bindmounts를 전달 . 이것이 내가 부두 창고에서했던 것입니다. 컨테이너를 시작할 때 고정 표시기 실행 명령에 추가 할 수있는

https://github.com/coreyryanhanson/dockerfiles/blob/master/glxgears/ubuntu16%20opengl/Dockerfile

그리고 X11의 인수는 다음과 같습니다

-v /tmp/.X11-unix:/tmp/.X11-unix \ 
-e DISPLAY=unix$DISPLAY 
+0

이 답변은 유용한 정보가 들어 있지만, '나 너무'주석처럼 읽습니다. 나는 그것이 더 많은 답변을 읽을 수 있도록 다시 말을하는 것이 좋습니다, 그렇지 않으면 그것은 삭제 될 가능성이 있습니다. – SiHa

+0

팁 주셔서 감사! 방금 고쳤어. – Corey