「亲爱的粉丝朋友们好啊!今天熊猫又来介绍好玩有趣的Docker项目了,喜欢的记得点个关注哦!」
引言相信做开发一定会遇到这样的问题,突然有一个想法想要快速验证某个 Linux 环境下的技术方案,或者临时发现一个项目,但需要一个安全不担心污染本地的开发环境,这也就是我们俗称的“沙盒系统”。
「Instantbox」正是为解决这类场景而生的轻量化解决方案。通过Docker部署,它能在30秒的时间快速生成临时的Linux场景,并且它支持Ubuntu/CentOS/Debian 等 9 种主流发行版,在系统上它模拟的沙盒环境能提供完整的终端访问权限和端口映射能力。和虚拟机不同的是,它属于阅后即焚的开发环境,不需要占用大量的主机资源。(项目页:https://github.com/instantbox/instantbox)
特点:快速启动:想不想体验秒级启动Linux 系统的速度?instantbox 帮你实现。多版本支持:从Ubuntu到CentOS,再到Arch Linux,各种版本应有尽有。Webshell访问:通过浏览器就能操作Linux,随时随地,随心所欲。资源限制测试:担心软件在资源受限环境下的表现?instantbox 提供了资源限制功能,让你轻松测试。部署机本次项目熊猫用到的为绿联DXP 6800 Pro作为部署NAS,将其称之为2024年最具性价比NAS我觉得也不为过,首发不到四千的价格就能拥有双万兆网口+PCIe全长扩展(x4通道)+6盘位+i5 1235U的组合,光看硬件配置就已经血赚了。
而在经历了多次的版本更新之后,绿联现在的UGOS Pro也非常好用了,前不久也是终于在应用中心上线了第三方应用,虽说目前上线的应用数量并不算多,但相信随着后续系统层面的不断发展,绿联的NAS生态也会越来越好。
项目本身并不占用资源,所以亲测即便是绿联的DXP2800、4800等性价比机型一样的也能顺利运行。如果不考虑脚本运行,该项目一共涉及三个容器镜像,那么直接在极空间、飞牛等设备上直接采用compose编排的形式也可行。
部署过程打开绿联的Docker应用,因为项目一共涉及到三个镜像,所以直接采用docker-compose的形式部署最为方便,这里也是给到例子,可以根据自身环境改变其中的端口或者环境变量。
version:'3'services:server:image: instantbox/instantbox:latestcontainer_name: instantbox_servervolumes:- /var/run/docker.sock:/var/run/docker.sockenvironment:- SERVERURL=networks:- instantbox_netfrontend:image: instantbox/instantbox-frontend:latestcontainer_name: instantbox_frontendlinks:- serverports:- 8888:80networks:- instantbox_netcron:image: instantbox/cron:latestcontainer_name: instantbox_cronlinks:- frontendenvironment:- CRON_STRINGS=* * * * * wget -qO /dev/null http://frontend/api/v2/superinspire/prunenetworks:- instantbox_netnetworks:instantbox_net:
在Docker中选择项目,随后选择新建,将compose配置输入到对话框中,填写好项目名称和存放路径。
点击立即部署,绿联会自动拉取所需的三个镜像文件,最后根据compose配置文件创建容器,这里耐心等待即可。
最后看到三个项目成功运行无报错,这时候项目也便成功部署了。
如未更改默认的映射端口,那么浏览器输入http:绿联NASIP:8888就能访问项目的webui了。
在下方的OS选择中提供了Ubuntu、CentOS、Arch Linux以及Debian等主流Linux平台的创建,每个平台也提供了多个发行版本选择,选择好版本之后点击右下角的Next来到下一步。
这里需要我们选择端口、CPU核心数、内存以及该系统的持续时间,选择好之后点击Create创建,稍等片刻之后一个全新不污染本地环境的Ubuntu就创建好了。
测试了一下,命令执行都能正常输入,试了一下给他安装一个图形界面,也是完全没有问题。
如果提前使用完毕,也可以重新进入项目的webui去关闭刚刚创建的Linux系统。
通过 Instantbox,无论是验证一段可能引发依赖冲突的脚本,还是探索不同 Linux 发行版的特性差异,Instantbox 都以近乎零成本的方式为开发者提供了安全的试错空间。完成实验后,一键销毁的机制让资源回收变得透明无负担。
以上便是本期的全部内容了,如果你觉得还算有趣或者对你有所帮助,不妨点赞收藏,最后也希望能得到你的关注,咱们下期见!