在Docker容器内:“错误:无法打开显示:本地主机:11.0”

我正在试图在docker容器中通过ssh使用graphics界面的程序。

目前我通过ssh连接到docker和容器运行的外部机器上。 在主机上,我可以启动程序,如Firefox正确显示。 连接build立与:

ssh -Y root@host 

当我在Docker容器中尝试使用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并使用http://fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker/中的Dockerfile创buildDocker镜像

 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 

添加--net=hostdocker run解决了这个问题。