docker - 如何在 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
解决方案
推荐阅读
- python - 根据另一列值在数据框中添加具有 0,1 值的列
- python - 通过提供另外两个列表从数组中返回一个列表
- android - 自动填充与数据绑定冲突
- reactjs - 令人困惑的 React useEffect 钩子行为
- excel - 数组不考虑在 VBA 中创建的字符串
- github - 有没有办法使用 Github 来限制您可以将受保护的分支合并到哪个分支?
- ruby-on-rails - 无法初始化 Cloudinary + Ruby on Rails
- telerik-grid - Telerik UI MVC Grid 数字字段的内联编辑不显示微调器
- reactjs - React Native:干净的UseEffect
- c# - 上传文件 500 内部服务器错误时出错