51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

【好玩的Docker项目】搭建一个Ubuntu的桌面系统(带VNC/noVNC)随时随地可以通过浏览器访问!

在Docker里面跑一个Ubuntu的桌面环境,可以实现一些日常使用的功能,需要持久保留的目录可以映射到本地,如果之后不想用了也可以直接删除,不会把系统"搞脏"。

系统镜像中带有:

  • 中文语言包

  • Xfce4桌面

  • TigerVNC服务

  • noVNC服务(HTML5WEBVNC)

  • Chromium浏览器

  • Deluge2.0.3

  • qBittorrent4.2.1

  • Transmission2.9.4

  • Telegram

  • ibus-pinyin输入法

  1. 项目展示 {#1-项目展示}

GitHub项目地址:https://github.com/fcwu/docker-ubuntu-vnc-desktop

Docker Hub:https://hub.docker.com/r/imlala/ubuntu-xfce-vnc-novnc

登陆界面展示 {#登陆界面展示}

桌面展示 {#桌面展示}

文件夹目录展示 {#文件夹目录展示}

qBittorrent软件展示 {#qbittorrent软件展示}

Chromium浏览器展示 {#chromium浏览器展示}

image-20220320174337054

系统信息展示 {#系统信息展示}

image-20220320174447706

  1. 搭建环境 {#2-搭建环境}

  • 服务器:~~腾讯香港轻量应用服务器24元/月VPS一台~~ 展示用的服务器是Netcup特价款,本期搭建用的是Vultr的服务器,按小时计费,可随时销毁(最好是选非大陆的服务器)(腾讯轻量购买链接
  • 系统:Debian 10(DD脚本 非必需DD用原来的系统也OK)
  • 域名一枚,并做好解析到服务器上(域名购买、域名解析 视频教程
  • 安装好Docker、Docker-compose(相关脚本
  • 【非必需】安装好宝塔面板海外版本aapanel,并安装好Nginx(安装地址
  • 【非必需不过本教程使用】安装好Nginx Proxy Manager(相关教程
  1. 搭建视频 {#3-搭建视频}

YouTube:https://youtu.be/7Q0zK-ivlPM

哔哩哔哩【完整版本可以点击去吐槽到B站观看】:

  1. 搭建方式 {#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

  1. 反向代理 {#5-反向代理}

在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:域名一枚,并做好解析到服务器上域名购买、域名解析 视频教程

之后,登陆Nginx Proxy Manager(不会的看这个:安装Nginx Proxy Manager相关教程))

注意:

Nginx Proxy Manager(以下简称NPM)会用到80443端口,所以本机不能占用(比如原来就有Nginx)

直接丢几张图:

注意:
1、填写对应的端口
2、Websockets Support打开

然后就可以用域名来访问了。

  1. 结尾 {#6-结尾}

祝大家用得开心,有问题可以去GitHub提Issues,也可以在评论区互相交流探讨。

开源项目,希望大家能多点点Star,鼓励原作者。

参考资料 {#参考资料}

https://lala.im/6714.html

https://github.com/fcwu/docker-ubuntu-vnc-desktop

http://blog.51sec.org/2021/01/install-ubuntu-1804-xfce4-desktop-in.html

赞(0)
未经允许不得转载:工具盒子 » 【好玩的Docker项目】搭建一个Ubuntu的桌面系统(带VNC/noVNC)随时随地可以通过浏览器访问!