解决docker无法打开UI界面问题(error: cannot open display)

在项目搭建过程中,遇到了docker中无法显示UI界面的问题,参考了这篇文章,并使用了其中的方法一进行了解决。要点信息摘录如下:

原理上可以把docker镜像看做一台没配显示器的电脑,程序可以运行,但是没地方显示。而linux目前的主流图像界面服务X11又支持 客户端/服务端(Client/Server)的工作模式。只要在容器启动的时候,将 『unix:端口』或『主机名:端口』共享给docker,docker 就可以通过端口找到显示输出的地方,和linux系统共用显示。

按照文章要求我重新修改了构建容器时的代码,今后构建Cyberdog2容器时,可以通过下述修改,直接创建一个支持UI界面的docker。具体命令如下:

bash 复制代码
sudo docker run --privileged=true -it --name <新建容器的名称> \
  -v <关联到的容器外部目录>:<关联到的容器内部目录> \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -e DISPLAY=unix$DISPLAY \
  -e GDK_SCALE \
  -e GDK_DPI_SCALE \
  cyberdog_v1.3:1.0.0 bash
相关推荐
Full Stack Developme31 分钟前
Linux 多种压缩格式,优缺点和适用场景
linux·运维·服务器
yBmZlQzJ5 小时前
财运到内网穿透域名解析技术机制与中立评估
运维·经验分享·docker·容器·1024程序员节
Shanxun Liao5 小时前
Cenots 7.9 配置多台 SSH 互信登陆免密码
linux·运维·ssh
j_xxx404_5 小时前
Linux:第一个程序--进度条|区分回车与换行|行缓冲区|进度条代码两个版本|代码测试与优化
linux·运维·服务器
一点晖光5 小时前
jenkins优化记录
运维·jenkins
最贪吃的虎6 小时前
Git: rebase vs merge
java·运维·git·后端·mysql
yBmZlQzJ7 小时前
内网穿透工具通过端口转发实现内外网通信
运维·经验分享·docker·容器·1024程序员节
DeepHacking7 小时前
Overleaf 本地Docker部署
运维·docker·容器
llilian_167 小时前
总线授时卡 CPCI总线授时卡的工作原理及应用场景介绍 CPCI总线校时卡
运维·单片机·其他·自动化
乐迪信息7 小时前
乐迪信息:煤矿皮带区域安全管控:人员违规闯入智能识别
大数据·运维·人工智能·物联网·安全