今日在网上冲浪又发现了一个特别好玩的 Docker 镜像,它集成了 Ubuntu 22.04 桌面版容器,并安装好 Google Chrome 浏览器和 VSCode 以及 qBittorren /迅雷/百度网盘等下载工具,可以方便的将下载任务挂在后台,实现 24 小时下载资源。

介绍

Ubuntu Desktop 基于 KasmWeb 的 Ubuntu 22.04 桌面版(Web) Docker 镜像制作。镜像替换了阿里云 Ubuntu Jammy 镜像源,安装了 Google Chrome 浏览器和流行的文本编辑器 VSCode,同时集成了 qBittorren /迅雷/百度网盘国内流行的主流下载工具。

Ubuntu Desktop 适合部署在 Home Server 或 OpenWrt 等软路由系统中,实现网络资源下载和私有网络服务访问。

地址

GitHub:https://github.com/colin-chang/ubuntu-desktop

开发故事:https://a-nomad.com/download

Ubuntu Desktop 展示

安装

1. SSH 登入服务器

这里使用一款的 4 CPU Core,8G RAM 的 VPS,运行 Debian 12 系统,来进行安装测试 Ubuntu Desktop。

首先使用 SSH 客户端登入 VPS 终端。

下面的步骤也适用于可以安装和使用 Docker 的系统,例如可以安装 Docker Desktop 的 Windows 或 Mac。

2. 安装 Docker 与 Docker Compose

参考下面文章安装好 Docker 与 Docker Compose:

3. 拉取项目源码

我们先将项目源码拉取到本地的 /home 目录下,

cd /home

git clone https://github.com/colin-chang/ubuntu-desktop.git

4. 构建 Docker 镜像

根据源码里面的 Dockerfile 构建镜像,

docker build -t colinchang/ubuntu-desktop .

取决于网络情况和主机性能,这大概需要花费十来分钟。

5. 启动 Ubuntu Desktop 容器

使用以下命令启动容器,

docker run -d \
    --name ubuntu \
    --shm-size=512m \
    -p 443:6901 \
    -e VNC_PW=password \
    -u root \
    --restart always \
    -v $(pwd)/data:/home/kasm-user \
    colinchang/ubuntu-desktop

可以修改如下配置段来调整容器

  • -p 443:6901 \ 中,前面的数字(443)是我们访问 Ubuntu Desktop 的端口,可以修改成任意未被占用的端口号
  • -e VNC_PW=password \ 修改访问密码
  • -v $(pwd)/data:/home/kasm-user \ 将 Ubuntu Desktop 容器的运行目录映射到当前文件的 /data 文件夹,方便导入导出容器里的文件

最后打开本地浏览器输入 IP:443 即可开始访问搭建好的 Ubuntu Desktop。

注意通过浏览器访问时协议类型务必确认是 https, 默认登录信息如下:

  • 用户名:kasm_user
  • 密码:password

使用

第一次打开的使用,一定要使用 https 的方式打开访问地址,由于没有证书却使用 https 方式访问,浏览器会提示不安全,点击下面继续访问(proceed to …)即可,

输入用户名 – kasm_user 和密码 – password,

进入首页,如果桌面没有这些程序,在左上方的选项里一一拖到桌面即可,

在打开应用程序时,会提示应用不受信任,我们直接点击直接打开(Launch Anyway)即可,

Chrome 浏览器打开 Google,

最后要说明的是容器的数据存储位置。

在前面的 docker run 命令里,我们已经通过命令 -v $(pwd)/data:/home/kasm-user \ 将容器的运行目录 /home/kasm-user 映射到主机的 /home/ubuntu-desktop/data 文件夹下,

这样我们如果在容器里的软件(如 Chrome)下载文件,指定目录到 /home/kasm-user 下的 /download 文件夹,如下图,实际上是下载到了主机的 /home/ubuntu-desktop/data/download 文件夹,如上图所示,

同样的,如果我们有文件或者文件夹上传到容器,也可以直接上传到对应的位置。

配置反向代理

为这个容器配置反向代理的时候,我发现使用 Caddy 或者 Cloudflare Tunnel 都无法反代成功,不知道有没有小伙伴知道是怎么回事,可以在下面留言告诉我哦。

更新、备份与卸载

更新

进入项目目录,

cd /home/ubuntu-desktop

拉取最新的容器镜像,

docker-compose pull

热更新容器,

docker-compose up -d

删除所有未被容器使用的镜像。

docker image prune

备份

作为一个不需要数据库的纯前端 Web 程序,仅需要备份一下 Docker Compose 文件。

卸载

进入项目目录,

cd /home/ubuntu-desktop

停止正在运行中的容器,

docker-compose down

回到根目录,删除所有停止的容器、镜像及容器数据。

订阅评论
提醒
guest

0 评论
最旧
最新 最多投票
内联反馈
查看所有评论