6

做为Linux系统管理员、或者是系统运维工程师,肯定会在工作遇到这样的需求:需要开发环境、测试环境、准生产环境等等环境,有时候建一个环境费时间不说,还容易出各种错误,好不容易建好了,可能还用不了几天。如果这时候有一个工具:能即用即建,不用则删,随时随地去创建一个系统多好!

所以,今天民工哥给大家推荐一个开源项目:Instantbox,为大家来解决这个烦恼。

什么是Instantbox?

使用Instantbox可以让你随时随地构建一个系统,开箱即用,不用登录服务器;任何地方都可以登录,只要一个浏览器就可以随时访问。几秒钟快速搭建一个开箱即用的临时Linux系统。

这是一个通过任何浏览器即时访问webshell来激活临时Linux系统的项目。

项目地址:https://github.com/instantbox...

Instantbox功能

  • 为演示文稿提供干净的Linux环境
  • 让学生在您的学校或您的下一次LUG见面会上体验Linux的魅力
  • 在干净的环境中灵感奔跑
  • 从任何设备管理服务器
  • 试验一个开源项目
  • 在资源限制下测试软件性能

Instantbox支持的发行版

目前支持Ubuntu,CentOS,Arch Linux,Debian,Fedora和Alpine的各种版本。

安装部署

1、安装Docker

[root@centos7 ~]# yum install docker -y
[root@centos7 ~]# systemctl start docker

关于Docker的安装之前也有旧文:Docker容器技术入门(一)有介绍过。

2、安装instantbox

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

docker is installed
Enter your IP (optional):
192.168.1.8
Choose a port (default: 8888):
6666
You're all set!
Run 'docker-compose up -d' then go to http://192.168.1.8:6666 on your browser.

注:安装期间需要你输入端口等相关信息,按提示输入即可。

3、启动过程 

[root@CentOS instantbox]# docker-compose up -d
Unable to find image 'docker/compose:1.25.1' locally
Trying to pull repository docker.io/docker/compose
...1.25.1:Pulling from docker.io/docker/compose
050382585609: Pull complete 
-----------省略一些拉取镜像的过程
Status: Downloaded newer image for docker.io/instantbox/cron:latest
Creating instantbox_server ... done
Creating instantbox_frontend ... done
Creating instantbox_cron ... done

4、浏览器访问

使用Server_ip+port的形式来访问

下面是选择你要创建的系统版本

我这里选择的是CentOS7,直接点下一步即可。

输入信息,这里的端口是你浏览器访问创建的新系统的端口,点击Create直接创建。

会有一个提示,点继续即可。

会有一段时间的等待,上图上也可以看出默认创建的系统有效期是24小时。

直接可以打开webshell界面了

其实,这个项目实际就是把docker容器的创建流程图形化、自动化了,让你只需点点鼠标就可以完成了。所以你在第一次创建某个系统版本时会需要耗费一些时间,第二次创建时就很快了,因为第一次需要去拉取镜像文件。

是不是很神奇?是不是很好用?是不是很流弊?最后如果你不想用了,直接删除想用了直接创建,太方便了。

这里肯定有人要问了,光装个系统有个球用?也得系统里跑应用,外部能访问吧,不然这个系统有啥用?确实,所以,民工哥给大家演示一下,如何访问内部的应用?以安装httpd服务为例。

#安装httpd服务
[root@instantbox_managed_mcsak3ltv0j2pe9f /]# yum install httpd -y

#启动httpd服务并检查
[root@instantbox_managed_mcsak3ltv0j2pe9f conf]# httpd
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.18. Set the 'ServerName' directive globally to suppress this message

[root@instantbox_managed_mcsak3ltv0j2pe9f conf]# ps -ef|grep httpd
root 107 1 0 09:28 ? 00:00:00 httpd
apache 108 107 0 09:28 ? 00:00:00 httpd
apache 109 107 0 09:28 ? 00:00:00 httpd
apache 110 107 0 09:28 ? 00:00:00 httpd
apache 111 107 0 09:28 ? 00:00:00 httpd
apache 112 107 0 09:28 ? 00:00:00 httpd
root 114 7 0 09:28 pts/0 00:00:00 grep --color=auto httpd

从上创建的时候知道这个创建的系统外部端口的是32786,那么下面我们就用32786这个端口进行访问,看看能不能访问到刚刚安装并启动完成的Apache服务?

修改默认首页内容试一试

[root@instantbox_managed_mcsak3ltv0j2pe9f html]# echo "Welcome to here">>index.html[root@instantbox_managed_mcsak3ltv0j2pe9f html]# lltotal 4-rw-r--r-- 1 root root 16 Mar 23 10:02 index.html[root@instantbox_managed_mcsak3ltv0j2pe9f html]# cat index.htmlWelcome to here

好了,民工哥今天的分享就到这里了,如果此文对你有所帮助,请动手点个「赞」「转发」分享支持一下,你的支持是民工哥创作的最大动力,感谢大家的阅读、点赞与转发支持

最新整理的 2TB 技术干货:包括架构师实战教程、大数据、Docker容器、系统运维、数据库、redis、MogoDB、电子书、Java基础课程、Java实战项目、ELK Stack、机器学习、BAT面试精讲视频等。只需在「 民工哥技术之路」微信公众号对话框回复关键字:1024即可获取全部资料。


民工哥
26.4k 声望56.7k 粉丝

10多年IT职场老司机的经验分享,坚持自学一路从技术小白成长为互联网企业信息技术部门的负责人。2019/2020/2021年度 思否Top Writer