instantbox:一个用浏览器创建并启动一个临时的 Linux 的虚拟机的 docker 项目

这些天事务比较繁忙,没有办法更新,这里 Never 先跟大家说一句抱歉!

刚刚在 Github 上刷到一个挺有意思的项目:instantbox。“它能够让你仅通过浏览器的情况下,在不到 30s 的期限内,就可以使用 web 来操作一个开箱即用的 Linux 系统,当然这里的“系统”是通过 docker 实现的,所以也不能直接认为就是类似于KVM般隔离更严格的虚拟化系统。”— 摘选自项目简介。

既然是通过 docker 虚拟出来的,所以机器性能和可运行的项目可能存在受限,所以 Never 推荐将此项目仅用于一般试验和临时使用当中。

截至 2023年 12 月 14 日,该项目最后更新于 2019 年 7 月 3 日,支持Ubuntu, CentOS, Arch Linux, Debian, Fedora and Alpine。

系统支持版本
Ubuntu14.04
16.04
18.04
20.04
latest* (* 实测为 20.04)
CentOS6.10
7
8
latest* (* 实测为 8)
Arch Linuxlatest
Debian8 Jessie
9 Stretch
10 Buster
latest* (* 实测为 10)
Fedora30
31
latest* (* 实测为 31)
Alpinelatest

部署环境:全新的 PVE 虚拟的 ubuntu 22.04 LTS。

对于部署机器的硬件,当然是越高越好咯,如果想要多开机器的话。

一、安装 Docker

首先 ssh 至机器中,运行以下命令来安装 docker

# 更新软件和安装依赖。
sudo apt update
sudo full-upgrade -y
sudo apt install apt-transport-https ca-certificates curl software-properties-common

# 添加 docker 官方的 GPG 密钥。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 再次更新软件列表
sudo apt update

# 安装 docker
sudo apt install docker-ce docker-ce-cli containerd.io

# 验证是否成功安装
sudo docker run hello-world

如果安装成功并运行了 hello-world 项目,应该能看到以下回显:

接下来安装 docker-compose

sudo apt install docker-compose -y

二、拉取并运行项目

运行以下命令来拉取 instantbox:

# 首先切换至 root
sudo -i

#拉取项目
mkdir instantbox && cd $_
bash <(curl -sSL https://raw.githubusercontent.com/instantbox/instantbox/master/init.sh)

一切顺利的话,脚本会问两个问题:本机 IP运行端口,IP 一般保持本机的 IP 不变即可,除非有特殊情况。端口按照自己喜好填写即可。下面是运行命令的示例:

root@ubuntu-instantbox:~# mkdir instantbox && cd $_
bash <(curl -sSL https://raw.githubusercontent.com/instantbox/instantbox/master/init.sh)
Welcome to instantbox, please wait...

docker is installed
Enter your IP (optional): 

# 填写本机 IP,留空也可。
Choose a port (default: 8888): 

# 填写开放端口。

You're all set! 
Run 'docker-compose up -d' then go to http://[IP]:[port] on your browser.

完成之后,运行以下命令来启动 instantbox:

docker-compose up -d

当下载完后,应该可以用浏览器打开 instantbox了,地址即为上面回显的(http://ip:port,例如 http://10.23.33.101:8888):

右上方可以选择中文。

三、创建系统

以 Ubuntu latest 为例,点击 Ubuntu 下方的“选择系统版本”,然后点击“latest”:

注意,这里只能点“选择系统版本”来激活对话框,点系统图标是没有用的。选完之后系统图标会亮。

之后点击“下一步”,自定义机器配置和端口:

这里的“端口”即为该机器网络中开放的端口,例如填写80,则可以直接访问 http://宿主机 ip:80使用时长最长为 24 小时。完成后,点击创建。

这时,会弹出一个新窗口,这里就是刚刚创建的机器的 ssh 界面了:

对手机界面一般友好吧,也是需要放大的:

要删除当前的虚拟机,返回至刚才的创建界面,点击“删除系统”并确定,然后再点一下“删除系统”即可返回至创建界面:

总之,该项目对于想要临时,快速使用一个干净的 Linux 系统的用户还算是不错的,部署也不是很困难。

当然,还是仅推荐于临时使用哟,而且 Never 也不建议大家将此项目暴露在公网中,万一被扫到,创了很多机器当肉鸡或者挖矿,损失会非常惨重的…

本篇文章允许转载,但须标注来源。

封面插画选自 @mocha@新刊委託中長月 (https://www.pixiv.net/artworks/92943912)。