Próbuję uruchomić serwer X11 wewnątrz kontenera dokera za pomocą sterownika XDummy. Jednak mam problemy z uruchomieniem go. Celem jest wykonanie renderowania bezgłowego. Mogę go uruchomić za pomocą Xvfb, ale potrzebuję wsparcia RANDR i ostatecznie będę potrzebował również obsługi GL.XDummy w pojemniku Docker
Dockerfile:
FROM node:slim
RUN mkdir nodeapp \
&& apt-get update \
&& apt-get install -y xorg \
&& apt-get install -y xserver-xorg-video-dummy x11-apps
COPY App /nodeapp/
ENV DISPLAY :1
RUN cd nodeapp/ \
&& npm install \
&& Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile /nodeapp/xdummy.log -config /nodeapp/xorg.conf start :1 &
ENTRYPOINT [ "node", "/nodeapp/index.js" ]
plik xorg.conf jest podstawowym Xdummy xorg.conf
Jednak xserver nie uruchamia się, a logfile nie przewiduje niczego przydatne, ale jestem pewien, jestem robi coś nie tak podczas konfigurowania Xorg w pliku Dockerfile, ale nie mogę znaleźć żadnych przykładów podobnych działań.
Jaka jest zalecana procedura, aby to zadziałało?
Twoje rozwiązanie jest całkiem miłe. Miałem problemy z rozumieniem, co masz na myśli mówiąc "połącz wolumin /tmp/.X11-unix". Dla każdego, kto jest tutaj zainteresowany, jest to, co zrobiłem: '' docker volume create --name x11tmp'' i dodaj '' -v x11tmp:/tmp/.X11-unix'', aby uruchamiać polecenia do tworzenia kontenerów. –
Zostawiłem to trochę niejasne, ponieważ tworzenie linków odbywa się inaczej, niezależnie od tego, czy używasz nieosłoniętego okna dokowanego, komponuje się dokowanie, czy też kernernetes, i istnieje kilka sposobów robienia tego za każdym razem. :) Jednak Twoja sugestia jest prawdopodobnie najlepszym sposobem na najczęstszy mechanizm, więc dziękuję! –