解决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
相关推荐
YYYing.15 分钟前
【K8s系列 (一) 】Docker与容器(上篇)
docker·云原生·容器·kubernetes
csdn_aspnet1 小时前
使用 Docker 和 RedisInsight 设置 Redis 以进行本地开发
redis·docker·容器·redisinsight
AR-26710-1 小时前
Linux Day31——实操启停服务改端口重启
linux·运维
百度Geek说2 小时前
QCon上海2026:百度 SRE Agent 规模化落地实践解读
运维·自动化运维
叼烟扛炮2 小时前
Linux 学习笔记(五十八):IO 多路复用封神——epoll 底层原理揭秘
linux·运维·服务器·网络·笔记·学习·php
分布式存储与RustFS5 小时前
给 RustFS 桶加一层内存缓存:用 Alluxio 让热数据少跑一遍网络
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
余槐i6 小时前
MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s
java·spring boot·mysql·docker·性能优化
csdn_aspnet6 小时前
如何在本地 Docker 容器中运行 Redis,并使用 Redis Insight 和 Redis CLI 进行管理
redis·docker·容器
Decay__6 小时前
22_MySQL 运维自动化平台 —— 部署编排 + 监控 + 巡检 + 告警 + 工单闭环一体化
运维·数据库·sql·mysql·架构