Я пытаюсь настроить отображение рабочего стола из образа Docker с помощью VNC. Похоже, соединение установлено, но у меня черный экран.
Вот мой файл докера:
#sudo docker build --build-arg SSH_PRIVATE_KEY="$(cat ~/.ssh/id_rsa)" --tag=XXXXX .
FROM ros:kinetic-robot-xenial
RUN apt-get update
RUN apt-get install -y git x11vnc xvfb
RUN apt-get -yq update && \
apt-get -yqq install ssh
ARG SSH_PRIVATE_KEY
RUN mkdir /root/.ssh/
RUN echo "${SSH_PRIVATE_KEY}" > /root/.ssh/id_rsa
RUN chmod 600 /root/.ssh/id_rsa
RUN touch /root/.ssh/known_hosts
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts
RUN git clone git@github.com:XXXXX.git
RUN cd XXXXX/catkin_ws/ && \
rm -r devel && rm -r build && \
/bin/bash -c '. /opt/ros/kinetic/setup.bash; catkin_make; catkin_make run_tests_wei_talkercpp_example'
ADD . /usr/sh
ENV DISPLAY :10
RUN chmod 755 /usr/sh/entrypoint.sh \
&& sed -i 's/\r$//' /usr/sh/entrypoint.sh
#Expose port 5920 to view display using VNC Viewer
EXPOSE 5910
#Execute entrypoint.sh at start of container
ENTRYPOINT ["/usr/sh/entrypoint.sh"]
А вот и точка входа .sh:
#!/bin/bash
export DISPLAY=:10
Xvfb :10 -screen 0 800x600x16 &
x11vnc -passwd TestVNC -display :10 -N -forever -ncache 10 &
wait
Чтобы собрать и запустить это, я попытался:
sudo docker build --build-arg SSH_PRIVATE_KEY="$(cat ~/.ssh/id_rsa)" --tag=XXXXX .
И
sudo docker run --rm -ti -p 5910:5910 XXXXX
Но я получил черный экран при попытке подключиться к localhost: 5910 с помощью средства просмотра VNC. Любое предложение будет оценено. Спасибо.