解决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
相关推荐
Decay__7 小时前
VMware 安装 SQL Server 双节点 AlwaysOn 可用性组教程 —— WSFC、AG 与侦听器完整部署(系列核心篇)
运维·数据库·sql·mysql·架构
测试界的小码农7 小时前
【Linux 命令实战(06):Linux 文件权限管理,掌握 chmod、chown、chgrp】
linux·运维·服务器
陈希1238 小时前
负载均衡与高可用:LVS、HAProxy、Keepalived 实战
运维·负载均衡·lvs
SQL7712 小时前
IT运维发展史,一部宏伟史诗
运维·运维发展史
分布式存储与RustFS13 小时前
Terraform 状态文件老在本地丢、并发还撞锁:把 state 锁进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
csdn_aspnet13 小时前
macOS 10 、Docker 玩轉 MySQL
运维·mysql·macos·docker·容器·mac
对象存储与RustFS15 小时前
Jenkins 的构建产物别堆在控制器磁盘:用 RustFS 当它的 S3 工件仓库
后端·docker·云原生
爱和冰阔落15 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
无奈笑天下1 天前
银河麒麟上nproc命令教程详解
linux·运维·服务器
威嵌神州1 天前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存