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

发布于:2025-05-26 ⋅ 阅读:(20) ⋅ 点赞:(0)

目录

相关概念:

实现步骤:

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博客


网站公告

今日签到

点亮在社区的每一天
去签到