Внутри контейнера Docker: ошибка: невозможно открыть дисплей: localhost: 11.0

Я пытаюсь использовать программы с графическим интерфейсом в контейнере докеров через ssh.

В настоящее время я подключен через ssh к внешней машине, на которой работают докер и контейнеры. На хосте я могу запускать программы, такие как firefox, которые отображались правильно. Соединение устанавливается с помощью:

ssh -Y root@host

Когда я пытаюсь сделать то же самое в док-контейнере с изображением firefox (см. ниже):

docker run -it --privileged --rm \
    -e DISPLAY=$DISPLAY \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    -v /root/.Xauthority:/root/.Xauthority:rw \
    firefox

Я просто получаю:

Error: cannot open display: localhost:11.0

Я уже пытался установить xhost + на хосте, но все равно не работает. Хост запускает Scientific Linux release 7.2, и образ Docker создается с помощью Dockerfile из http://fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker/:

FROM ubuntu:14.04

RUN apt-get update && apt-get install -y firefox

# Replace 1000 with your user / group id
RUN export uid=1000 gid=1000 && \
    mkdir -p /home/developer && \
    echo "developer:x:${uid}:${gid}:Developer,,,:/home/developer:/bin/bash" >> /etc/passwd && \
    echo "developer:x:${uid}:" >> /etc/group && \
    echo "developer ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/developer && \
    chmod 0440 /etc/sudoers.d/developer && \
    chown ${uid}:${gid} -R /home/developer

USER developer
ENV HOME /home/developer
CMD /usr/bin/firefox

person Hexaquark    schedule 07.07.2016    source источник


Ответы (1)


Добавление --net=host к docker run решило проблему.

person Hexaquark    schedule 12.07.2016