当前位置: 首页 > news >正文

显示docker桌面,vnc远程连接docker

目录

相关概念:

实现步骤:

1.启动docker容器

2.安装x11

3.Docker 容器中安装一个完整的图形桌面(XFCE)和 VNC 远程桌面服务器(TightVNC)

4.配置vncservice

5.本地安装VNC Viewer连接VNC Viewer下载地址: https://www.realvnc.com/en/connect/download/viewer安装完成后,启动VNC Viewer,在上方输入框中输入ip:端口号并确定,弹出的警告窗口选择Continue,然后输入密码即可。

参考连接:


问题描述:在docker中跑colmap相关扩展的项目,想看一下可视化结果,于是想能否远程桌面一样控制docker环境

结果:

相关概念:

VNC 的基本原理:

  • VNC 使用的是 RFB 协议(Remote Framebuffer Protocol)。
  • VNC Server 运行在要被控制的电脑上(也叫“远程端”),它将当前屏幕帧缓冲区的内容发送给客户端。
  • VNC Viewer 运行在控制方的电脑上,通过网络连接 VNC Server,接收图像并发送键鼠操作。

VNC 的常见用途

  • 远程控制 Linux 桌面(尤其是服务器无图形界面时需要手动配置桌面 + VNC)。
  • 多用户同时登录共享服务器(每个用户一个 VNC 会话)。
  • 跨平台远程访问(例如使用 Windows 控制 Ubuntu)。

常见的 VNC Server 软件

名称说明
TigerVNC性能稳定,开源常用
RealVNC商业版和免费版都有,界面友好
TightVNC占用资源少,适合低带宽环境
x11vnc用于共享当前 X11 桌面(非虚拟桌面)

实现步骤:

1.启动docker容器

docker run --privileged -t \        
  --name colmap_vnc \       
  --gpus all \
  -p 5901:5901 \
  -v /media/vr716/.../docker_colmap:/workspace \
  colmap_docker:v2_vnc

参数说明
docker run启动一个新的容器。
--privileged给予容器“特权模式”,几乎拥有和主机一样的访问权限,常用于需要访问硬件或挂载设备(如GPU、VNC桌面等)的情况。
-t为容器分配一个伪终端(tty),通常配合交互式运行使用(即使这里没有 -i 也可以查看输出)。
--name colmap_vnc为容器指定一个名称,
--gpus all将宿主机的所有 GPU 显卡暴露给容器,要求 nvidia-docker 或 Docker + NVIDIA 容器运行时。
-p 5901:5901将宿主机的 5901 端口映射到容器的 5901 端口,
-v /media/...:/workspace将宿主机路径 /media/vr716/.../docker_colmap 挂载到容器内 /workspace,实现数据共享。
colmap_docker:v2_vnc使用的镜像名

2.安装x11

在 Linux 系统中安装最小化图形界面环境,若只安装x11,也可以通过ssh -x连接后显示图形程序。

apt-get install xorg openbox

3.Docker 容器中安装一个完整的图形桌面(XFCE)和 VNC 远程桌面服务器(TightVNC)

apt update
apt install xfce4 xfce4-goodies
apt install tightvncserver

xfce4:

  • 安装 XFCE 桌面环境 的核心组件。
  • 是一种非常轻量、快速、资源占用低的桌面,适合服务器或低配置系统。

xfce4-goodies:

  • 安装 附加工具集(如任务管理器、电源管理、插件等),使桌面更完整。

apt install tightvncserver

  • 安装 TightVNC,是一种流行的、轻量的 VNC 服务器实现。
  • 启动后会创建一个虚拟桌面,可以通过 VNC Viewer 远程连接。

4.配置vncservice


设置 VNC 密码(首次运行):

vncserver



停止 VNC 会话(假设是 :1):


vncserver -kill :1

rm -f /tmp/.X1-lock


配置启动脚本,指定桌面环境(修改 ~/.vnc/xstartup):


#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &


赋予执行权限:


chmod +x ~/.vnc/xstartup


重新启动 VNC:


vncserver :1 -geometry 1920x1080 -depth 24

5.本地安装VNC Viewer连接
VNC Viewer下载地址: https://www.realvnc.com/en/connect/download/viewer
安装完成后,启动VNC Viewer,在上方输入框中输入ip:端口号并确定,弹出的警告窗口选择Continue,然后输入密码即可。

参考连接:

使用VNC可视化Docker容器_docker vnc-CSDN博客

VNC Viewer安装教程(保姆级安装)-CSDN博客

相关文章:

  • 西宁网站设计企业百度网盘登陆入口
  • 做家具网站要多少钱百度搜索流量查询
  • 北京网站建设代理巩义关键词优化推广
  • 钓鱼网站建设企业优化推广
  • 网站留言板html代码网络服务提供商
  • 网站建设安全问题如何推广网上国网
  • LeetCode 1040.移动石子直到连续II
  • 【公式】MathType公式上浮或下沉
  • 汉诺塔超级计算机数据区结构和源代码详细设计
  • C++语言入门————高精度计算
  • ubuntu下nginx
  • 如何在Windows右键菜单中添加“以管理员身份运行CMD”的选项(含图标设置)
  • 第十六篇:真正的学习,系统分析师考后总结
  • 【公式】批量添加MathType公式编号
  • Java单例模式:懒汉模式详解
  • el-input 按回车失去焦点
  • C#、C++、Java、Python 选择哪个好
  • PCB设计-立创
  • Android事件分发学习总结
  • 嵌入式自学第二十七天
  • 【硬件测试】基于FPGA的BPSK+卷积编码Viterbi译码系统开发,包含帧同步,信道,误码统计,可设置SNR
  • 如何使用pyinstaller打包python脚本?
  • 单调栈(c++)
  • Java基础知识回顾
  • perl脚本基础
  • MedGemma 简介