介绍
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 --rm -it --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>