在Docker里面跑一个Ubuntu的桌面环境,可以实现一些日常使用的功能,需要持久保留的目录可以映射到本地,如果之后不想用了也可以直接删除,不会把系统“搞脏”。
系统镜像中带有:
-
中文语言包
-
Xfce4桌面
-
TigerVNC服务
-
noVNC服务(HTML5WEBVNC)
-
Chromium浏览器
-
Deluge2.0.3
-
qBittorrent4.2.1
-
Transmission2.9.4
-
Telegram
-
ibus-pinyin输入法
1. 项目展示
GitHub项目地址:https://github.com/fcwu/docker-ubuntu-vnc-desktop
Docker Hub:https://hub.docker.com/r/imlala/ubuntu-xfce-vnc-novnc
登陆界面展示
桌面展示
文件夹目录展示
qBittorrent软件展示
Chromium浏览器展示
系统信息展示
2. 搭建环境
- 服务器:
腾讯香港轻量应用服务器24元/月VPS一台展示用的服务器是Netcup特价款,本期搭建用的是Vultr的服务器,按小时计费,可随时销毁(最好是选非大陆的服务器)(腾讯轻量购买链接) - 系统:Debian 10(DD脚本 非必需DD用原来的系统也OK)
- 域名一枚,并做好解析到服务器上(域名购买、域名解析 视频教程)
- 安装好Docker、Docker-compose(相关脚本)
- 【非必需】安装好宝塔面板海外版本aapanel,并安装好Nginx(安装地址)
- 【非必需不过本教程使用】安装好Nginx Proxy Manager(相关教程)
3. 搭建视频
YouTube:https://youtu.be/7Q0zK-ivlPM
哔哩哔哩【完整版本可以点击去吐槽到B站观看】:
4. 搭建方式
服务器初始设置,参考——新买了一台服务器“必须”要做的6件小事:
apt update -y # 升级packages
apt install wget #如果出现 wget:command not found,可以用这个命令安装
创建一下安装的目录:
mkdir -p /root/data/docker_data/Ubuntu_desktop
cd /root/data/docker_data/Ubuntu_desktop
nano docker-compose.yml
docker-compose.yml
填入以下内容:
version: '3.5'
services:
ubuntu-xfce-vnc:
container_name: xfce
image: imlala/ubuntu-xfce-vnc-novnc:latest
shm_size: "1gb" # 防止高分辨率下Chromium崩溃,如果内存足够也可以加大一点点
ports:
- 5900:5900 # TigerVNC的服务端口(保证端口是没被占用的,冒号右边的端口不能改,左边的可以改)
- 6080:6080 # noVNC的服务端口,注意事项同上
environment:
- VNC_PASSWD=PAS3WorD # 改成你自己想要的密码
- GEOMETRY=1280x720 # 屏幕分辨率,800×600/1024×768诸如此类的可自己调整
- DEPTH=24 # 颜色位数16/24/32可用,越高画面越细腻,但网络不好的也会更卡
volumes:
- ./Downloads:/root/Downloads # Chromium/Deluge/qBittorrent/Transmission下载的文件默认保存位置都是root/Downloads下
- ./Documents:/root/Documents # 映射一些其他目录
- ./Pictures:/root/Pictures
- ./Videos:/root/Videos
- ./Music:/root/Music
restart: unless-stopped
没问题的话,ctrl+x
退出,按y
保存,enter
确认。
然后运行:
docker-compose up -d
访问:http:服务ip:6080
即可。
注意:
1、不知道服务器IP,可以直接在命令行输入:
curl ip.sb
,会显示当前服务器的IP。2、遇到访问不了的情况,请在宝塔面板的防火墙和服务商的后台防火墙里打开对应端口。
附录:
还有一个类似的项目:
docker run -itd --restart=always -p 6080:80 -e HTTP_PASSWORD=mypassword -v /root/data/docker_data/Ubuntu_desktop/dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
还可以添加声音,具体见GitHub:https://github.com/fcwu/docker-ubuntu-vnc-desktop
5. 反向代理
在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:域名一枚,并做好解析到服务器上(域名购买、域名解析 视频教程)
之后,登陆Nginx Proxy Manager(不会的看这个:安装Nginx Proxy Manager(相关教程))
注意:
Nginx Proxy Manager(以下简称NPM)会用到
80
、443
端口,所以本机不能占用(比如原来就有Nginx)
直接丢几张图:
注意:
1、填写对应的端口
2、Websockets Support打开
然后就可以用域名来访问了。
6. 结尾
祝大家用得开心,有问题可以去GitHub提Issues,也可以在评论区互相交流探讨。
开源项目,希望大家能多点点Star,鼓励原作者。
参考资料
https://github.com/fcwu/docker-ubuntu-vnc-desktop
http://blog.51sec.org/2021/01/install-ubuntu-1804-xfce4-desktop-in.html
评论区