解决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
相关推荐
wzg20169 分钟前
ubuntu 离线安装 docker-compose
linux·ubuntu·docker
Shadow(⊙o⊙)19 分钟前
仿muduo实现高并发服务器——EchoServer完成
运维·服务器
时间售卖铺41 分钟前
Docker镜像构建全解析:从原理到实战优化
运维·docker·云原生·容器
小豆庄1 小时前
会议录屏忘打码后的技术复盘:本地自动化隐私脱敏方案
运维·opencv·目标检测·自动化·视频·纹理贴图
码途行者1 小时前
Linux 服务器 Golang 安装及环境变量配置
linux·运维·服务器
爱和冰阔落2 小时前
【Linux网络】UDP 聊天室怎么实现?从在线用户管理、消息广播到双线程收发与线程池
linux·运维·网络·udp
wzq11_6662 小时前
Kubernetes集群——工作负载
云原生·容器·kubernetes
雪落漂泊2 小时前
Linux进程(三)概念:进程优先级与进程切换篇
linux·运维·服务器
拂拉氏2 小时前
【知识讲解】 Linux信号与可重入函数的认识
linux·运维·服务器
Sayai2 小时前
Kafka 跨数据中心日志同步实战:MirrorMaker 2 选型对比 + Flink 中继任务落地(双中心互备与消费者组隔离避坑)
大数据·运维·分布式·flink·kafka·消息队列·高可用