首页 > 解决方案 > 如何在 Docker 容器中使用 GUI 应用程序?

问题描述

我的目标是使用主机 Xserver 从 Docker 容器运行任意 GUI 应用程序。

我试过http://wiki.ros.org/docker/Tutorials/GUI#The_simple_way - 第 1 步

我会使用docker run --gpus all --net=host -it -p "8888:8888" -v "/home/gillian/Documents/deeplearning/:/deeplearning/:" --env=DISPLAY=$DISPLAY --env=QT_X11_NO_MITSHM=1 --volume=/tmp/.X11-unix:/tmp/.X11-unix:rw pytorch

但是当我尝试从容器中运行 xlogo 或 xclock 时,它总是会返回错误 Error: Can't open display: :0

在花了一夜试图修复它之后,我尝试将--net=host其用作 docker run 的参数。然后我可以运行 xclock 和 xlogo,它会毫无问题地将它们显示在我的屏幕上。

为什么?

在不牺牲网络隔离 (--net=host) 的情况下,如何运行 docker 映像?

我正在运行 Kubuntu 20.04

标签: dockerunix-socketxorgxserver

解决方案


推荐阅读