docker - Docker 容器内部 : "Error: cannot open display: localhost:11.0"

标签 docker x11 xserver

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

目前,我在运行 docker 和容器的外部机器上通过 ssh 连接。在主机上,我可以启动正确显示的 firefox 等程序。连接是通过以下方式建立的:

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 并使用以下命令创建 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

最佳答案

--net=host 添加到 docker run 解决了问题。

关于docker - Docker 容器内部 : "Error: cannot open display: localhost:11.0",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38249629/

相关文章:

amazon-web-services - AWSEBCLI没有这样的文件或目录

c++ - 如何在 Windows 上的 Ubuntu 上获得使用 XWindows 在 Bash 上构建的 C++ 程序?

python - 使用 python 捕获并解释 XI2 RawKeyPress 事件

linux - 在服务器上运行时在本地计算机上显示

image - 如何使用 x11 在服务器上显示 jpeg 图像?

docker - 我可以使用Docker部署两种不同的服务(Java和NodeJ)吗?

android - Android sdkmanager为任何参数提供IllegalArgumentException

php - Docker构建:Symfony 4类PdoSessionHandler不存在

windows - 如何在不关闭 session 的情况下从Linux远程控制Windows

linux - wkhtmltopdf --use-xserver 选项