介绍
Kasm(https://kasmweb.com/)是一家提供虚拟化和远程访问解决方案的公司。他们的主要产品是 Kasm Workspaces,它是一个基于浏览器的虚拟桌面和应用程序交付平台。
Kasm Workspaces 基于开源项目 Apache Guacamole 和 Chromium 浏览器引擎构建而成,通过在服务器端进行高性能的图形渲染,并通过 WebRTC 技术在客户端进行流式传输,将完整的桌面环境和应用程序传送到用户的 Web 浏览器中。这意味着用户可以在任何设备上,只需使用 Web 浏览器,就可以访问其个人的虚拟桌面环境和应用程序,无需安装和配置本地软件。
使用

官方镜像不支持启用root用户,所以不能安装软件。
但是官方提供了解决方案 Running as Root — Kasm 1.14.0 documentation
我制作的镜像,大家可以直接下载使用。
https://hub.docker.com/r/yingge2017/kasmsudo/tags

Dockerfile
- #Dockerfile
- #sudo as root role.
-
- FROM kasmweb/core-ubuntu-focal:1.14.0
- USER root
-
- ENV HOME /home/kasm-default-profile
- ENV STARTUPDIR /dockerstartup
- ENV INST_SCRIPTS $STARTUPDIR/install
- WORKDIR $HOME
-
- ######### Customize Container Here ###########
- ENV TZ=Asia/Shanghai
- RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
-
- RUN apt-get update \
- && apt-get install -y sudo \
- && echo 'kasm-user ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers \
- && rm -rf /var/lib/apt/list/*
-
-
- ######### End Customizations ###########
-
- RUN chown 1000:0 $HOME
- RUN $STARTUPDIR/set_user_permission.sh $HOME
-
- ENV HOME /home/kasm-user
- WORKDIR $HOME
- RUN mkdir -p $HOME && chown -R 1000:0 $HOME
-
- USER 1000
镜像使用方法
- #run
- docker run -d --shm-size=512m -p 1201:6901 \
- --name kasmsudo -e VNC_PW=dddd kasmsudo:1.0
-
- #浏览器访问
- https://localhost:1201
-
- #账号密码.密码是容器创建时设置的。
- #该账号通过sudo命令可以使用管理员功能。
- kasm_user
- dddd
-

使用起来比较流畅。
如果感觉不够顺畅可以修改容器cpus和memory.
- docker update --cpus=2 <container_id>
- docker update --memory=4g --memory-swap=4g <container_di>