1)项目介绍
GitHub: https://github.com/linuxserver/docker-webtop
WebTop
它是一个基于 Linux ( Ubuntu 和 Alpine 两种版本)的轻量级容器,具有在浏览器中运行的完整桌面环境,具有基本的窗口管理器、像素完美的渲染分辨率、音频支持、剪贴板支持、屏幕键盘支持,以及用于上传/下载的远程文件管理。
2)功能特色
- 像素渲染的完美分辨率
- 基本的窗口管理器
- 音频支持
- 使用 RDP 协议
- 剪贴板支持
- 屏幕键盘支持
- 远程文件上传/下载管理
3)项目部署
3.1)安装 Docker 软件
bash
# 高版本 Docker 安装
curl -fsSL https://get.docker.com/ | sh
bash
# 关闭防火墙
systemctl disable --now firewalld
setenforce 0
bash
# 启用 Docker
systemctl enable --now docker
3.2)检查 Docker 服务
bash
systemctl status docker
3.3)开启 IPv4 forwarding
bash
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
systemctl restart network
sysctl net.ipv4.ip_forward
4)安装 Docker-compose
4.1)下载 Docker-Compose 软件包
bash
下载 Docker-Compose 二进制包
curl -L https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
给文件增加执行权限
chmod +x /usr/local/bin/docker-compose
检查 Docker-Compose 版本
docker-compose -v
4.2)Docker-Compose 增加执行权限
bash
chmod +x /usr/local/bin/docker-compose
4.3)检查 Docker-Compose 版本
bash
docker-compose -v
5)在线部署
推荐用命令行
Docker-Cli
或者Docker-Compose
安装因为可以通过
shm_size
参数调整共享内存的大小,来达到优化效果。
5.1)创建目录
bash
mkdir /docker/webtop -p;cd /docker/webtop
5.2)启用容器
bash
docker run -d \
--name=webtop \
--privileged `#optional` \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-e SUBFOLDER=/ `#optional` \
-p 3000:3000 \
-v /docker/webtop:/config \
-v /var/run/docker.sock:/var/run/docker.sock `#optional` \
--shm-size="2gb" `#optional` \
--restart unless-stopped \
linuxserver/webtop
5.3)验证容器
bash
docker ps -a
6)访问验证
参考: https://blog.csdn.net/wbsu2004/article/details/120519093
使用浏览器访问 WebTop 前台 http://服务器IP地址:3000
注意: 默认 Alpine Xfce 桌面环境是不支持中文的
解决: 中文支持
bash
# 进入容器
docker exec -it --user root webtop /bin/bash
# 安装 wget
apk --no-cache add ca-certificates wget
# 安装公钥
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub
# 下载字体
wget https://github.com/Fangyh09/font-ttf/raw/master/simsun.ttc
# 创建文件夹
mkdir /usr/share/fonts/win
# 移动字库
mv simsun.ttc /usr/share/fonts/win
# 扫描字体目录并生成字体信息的缓存
fc-cache -vf
# 查看系统内所有中文字体及字体文件的路径
fc-list :lang=zh
bash
docker restart webtop
刷新页面,原来的小方块已经可以正常显示了
大功告成~