通用docker运行ubuntu图形化桌面
文章目录
- 为什么选择 Docker 运行 Ubuntu 图形化桌面
- 18.04、20.04和24.04 image
- 运行
- 浏览器访问
- 修改密码
- 安装ping
- 查看版本
为什么选择 Docker 运行 Ubuntu 图形化桌面
在需要同时使用 Windows 和 Linux 的场景下,传统方案各有不足:
- 双系统:需要频繁重启切换,效率低下;
- 虚拟机(VMware/VirtualBox):无法直接调用宿主机显卡(尤其是 NVIDIA 显卡),性能受限;
- 常规 Docker 容器:虽然支持 GPU 直通,但默认缺乏图形界面。
而 Docker 化 Ubuntu 桌面环境 完美解决了这些痛点:
- 无缝切换:无需重启,随用随启
- 完整 GPU 支持:直接调用宿主机 NVIDIA 显卡(通过 --gpus all 参数)
- 轻量高效:资源占用远低于虚拟机
虽然可以通过手动编写 Dockerfile 构建镜像,但过程繁琐(需要配置 VNC、桌面环境等)。更推荐使用现成方案如 KasmWeb,它提供开箱即用的 Ubuntu 桌面镜像,支持:一键部署和网页直接访问,这种方案既保留了容器的轻量化优势,又提供了完整的图形化体验,是开发、测试的理想选择。
18.04、20.04和24.04 image
# 下载18.04
docker pull kasmweb/ubuntu-bionic-desktop:1.10.0-rolling
# 下载20.04
docker pull kasmweb/ubuntu-focal-desktop:1.16.0
# 下载24.04
docker pull kasmweb/ubuntu-noble-desktop:1.16.0
运行
docker run -d
--name ubuntu24.04
--shm-size=5120m
--gpus all
-p 6901:6901
-e VNC_PW=123qwe
--restart always
kasmweb/ubuntu-noble-desktop:1.16.1-rolling-daily
浏览器访问
18.04
访问:http://localhost:6901
24.04
访问:https://localhost:6901
- 用户名:
kasm-user
,密码为docker run
时指定的密码
修改密码
- 以
root
用户进入容器:docker exec -it -u root <容器名> /bin/bash
- 修改
root
用户密码:passwd
- 修改
kasm-user
用户密码:passwd kasm-user
- 赋予
kasm-user
sudo
权限:vim /etc/sudoers
root ALL=(ALL:ALL) ALL # 增加下面一行 kasm-user ALL=(ALL) NOPASSWD: ALL
安装ping
sudo apt install iputils-ping
查看版本
lsb_release -a
cat /etc/os-release