1)项目介绍

GitHub:https://github.com/linuxserver/docker-webtop

WebTop 它是一个基于 Linux ( Ubuntu 和 Alpine 两种版本)的轻量级容器,具有在浏览器中运行的完整桌面环境,具有基本的窗口管理器、像素完美的渲染分辨率、音频支持、剪贴板支持、屏幕键盘支持,以及用于上传/下载的远程文件管理。

2)功能特色

  • 像素渲染的完美分辨率
  • 基本的窗口管理器
  • 音频支持
  • 使用 RDP 协议
  • 剪贴板支持
  • 屏幕键盘支持
  • 远程文件上传/下载管理

3)项目部署

3.1)安装 Docker 软件

# 高版本 Docker 安装
curl -fsSL https://get.docker.com/ | sh
# 关闭防火墙
systemctl disable --now firewalld
setenforce 0
# 启用 Docker
systemctl enable --now docker

3.2)检查 Docker 服务

systemctl status docker

3.3)开启 IPv4 forwarding

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
systemctl restart network
sysctl net.ipv4.ip_forward

4)安装 Docker-compose

4.1)下载 Docker-Compose 软件包

下载 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 增加执行权限

chmod +x /usr/local/bin/docker-compose

4.3)检查 Docker-Compose 版本

docker-compose -v

5)在线部署

推荐用命令行 Docker-Cli 或者 Docker-Compose 安装

因为可以通过 shm_size 参数调整共享内存的大小,来达到优化效果。

5.1)创建目录

mkdir /docker/webtop -p;cd /docker/webtop

5.2)启用容器

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)验证容器

docker ps -a

6)访问验证

参考:https://blog.csdn.net/wbsu2004/article/details/120519093

使用浏览器访问 WebTop 前台 http://服务器IP地址:3000

注意: 默认 Alpine Xfce 桌面环境是不支持中文的

解决: 中文支持

# 进入容器
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
docker restart webtop

刷新页面,原来的小方块已经可以正常显示了

大功告成~

使用 Docker 部署 WebTop 运行 Linux 系统的更多相关文章

  1. 1.部署虚拟环境安装linux系统

    第1章 部署虚拟环境安装linux系统 章节简述: 本章从零基础详细讲解了虚拟机软件与红帽Linux系统,完整演示了VM虚拟机的安装与配置过程,以及红帽RHEL 7系统的安装.配置过程和初始化方法.此 ...

  2. 《Linux就该这么学》培训笔记_ch01_部署虚拟环境安装Linux系统

    <Linux就该这么学>培训笔记_ch01_部署虚拟环境安装Linux系统 文章最后会post上书本的笔记照片. 文章主要内容: 在虚拟机中安装红帽RHEL7系统 在Linux系统中找回r ...

  3. ZedBoard上运行linux系统的准备工作框架

    目标:ZedBoard上运行linux系统. 需要什么:图中上色部分. 应该做哪些工作:上色部分之前的所有步骤. 由上图得知,为了顺利在zedboard上构建嵌入式Linux操作系统,我们一般需要如下 ...

  4. 跟老刘学运维day02~部署虚拟环境安装Linux系统(1)

    第1章 部署虚拟环境安装Linux系统 所谓“工欲善其事,必先利其器” 1.准备工具 VmwareWorkStation  15.5——虚拟机软件(必需) RedHatEnterpriseLinux ...

  5. 【docker部署】基于linux的centos操作系统部署安装docker容器

    一.docker介绍 容器是轻量级的,包含应用运行所需所有东西(代码.库.运行时环境.系统设置,以及依赖关系)的独立的包.每个容器都部署于它自己的 CPU.内存.块 I/O,以及网络资源上,所有这些都 ...

  6. 第1章 部署虚拟环境安装linux系统

    章节简述: 本章节带领读者从0基础了解虚拟机软件与红帽系统,完整的演示了在VM与KVM中安装红帽RHEL7系统的方法. 特别增加了超级实用的Linux系统找回root密码.虚拟机功能增强包.VNC远程 ...

  7. 部署虚拟环境安装Linux系统

      目录                                                              准备工作 安装linux系统 重置root管理员密码 源代码编译 R ...

  8. 在4K屏下以超过VMWare默认的最高分辨率运行Linux系统

    前言 4K 屏,有其优点也有其弊端.优点就是分辨率高,字体和图标看起来如丝一般顺滑:缺点就是字体和图标小,费眼睛.解决这个缺点的方法也很简单粗暴,就是将系统的显示比例放大.在高分屏不很普及的时候,无论 ...

  9. 手把手教你图文并茂windows10安装VMware创建CentOS-7-x86_64运行linux系统

    VMware是什么 VMWare (Virtual Machine ware)可以使你的计算机上同时运行几个系统.例如windows.DOS.LINUX等同时存在,可以将这些系统像程序似的随时切换,并 ...

  10. 第01章 部署虚拟环境安装Linux系统

    在VMware中安装RHEL系统和其它Linux系统一样,注意的是: ……前边一直操作下边的步骤后: 重启系统后将看到系统的初始化界面,单击 LICENSE INFORMATION 选项. 选中 I ...

随机推荐

  1. #虚树,树形dp#CF613D Kingdom and its Cities

    洛谷题面 Codeforces 分析 若两个重要城市为一条边的两个顶点显然无解 否则考虑建一棵虚树,设\(dp[x]\)表示以\(x\)为根的子树最少需要摧毁的城市数, 令\(Siz[x]\)表示\( ...

  2. #贪心,树#C 平衡的树

    分析 处理出子树内剩余删减以及最大的剩余\(a\)和, 如果删了还是超过\(b\)输出无解 代码 #include <cstdio> #include <cctype> #de ...

  3. 高能有料 | 第二届OpenHarmony技术大会议程速递

       第二届开放原子开源基金会OpenHarmony技术大会如约而至 让我们一起 开封无限惊喜的技术成果 开放无限前沿的议题干货 开启无限可能的未来之门 点击此处报名参会!

  4. Spring反序列化JNDI分析

    漏洞原理 Spring框架的JtaTransactionManager类中重写了readObject方法,这个方法最终会调用到JNDI中的lookup()方法,关键是里面的参数可控,这就导致了攻击者可 ...

  5. 8. Linear Transformations

    8.1 Linear Requires Keys: A linear transformation T takes vectors v to vectors T(v). Linearity requi ...

  6. HDC2022 开发者亮点抢先看,线上线下精彩活动等你探索!

    原文:https://mp.weixin.qq.com/s/A2sfpPKBvF6zwinbUsgwiw,点击链接查看更多技术内容.

  7. 堡垒机安装pytorch,mmcv,mmclassification,并训练自己的数据集

    堡垒机创建conda环境,并激活进入环境 conda create -n mmclassification python=3.7 conda activate mmclassification 堡垒机 ...

  8. 了解redis的单线程模型工作原理?一篇文章就够了

    1.首先redis是单线程的,为什么redis会是单线程的呢?从redis的性能上进行考虑,单线程避免了上下文频繁切换问题,效率高:从redis的内部结构设计原理进行考虑,redis是基于Reacto ...

  9. 力扣128(java&python)-最长连续序列(中等)

    题目: 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度. 请你设计并实现时间复杂度为 O(n) 的算法解决此问题. 示例 1: 输入:nums = ...

  10. Java 应用压测性能问题定位经验分享

    简介: 问题千千万,但只要修练了足够深厚的内功,形成一套属于自己的排查问题思路和打法,再加上一套支撑问题排查的工具,凭借已有的经验还有偶发到来的那一丝丝灵感,相信所有的问题都会迎刃而解. 作者:凡勇 ...