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

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

什么是Instantbox?

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

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

项目地址:https://github.com/instantbox/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]# ll
total 4
-rw-r--r-- 1 root root 16 Mar 23 10:02 index.html
[root@instantbox_managed_mcsak3ltv0j2pe9f html]# cat index.html
Welcome to here

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

5s!用浏览器打造一个开箱即用的Linux系统的更多相关文章

  1. [转]C#打造一个开源webgis(一)系统架构

    搭建一个GIS系统,为了能同时适应C/S和B/S架构,建议是做成自己的地图服务api方式,这样,一个或多个系统,就能通过统一的地图服务接口提供,而通信可以采用http的resful方式,而一个webG ...

  2. 「Linux」制作一个Linux系统

    一.前言 Linux操作系统至1991年10月5日诞生以来,就其开源性和自由性得到了很多技术大牛的青睐,每个Linux爱好者都为其贡献了自己的一份力,不管是在Linux内核还是开源软件等方面,都为我们 ...

  3. 第三节 构造一个简单的Linux系统MenuOS——20135203齐岳

    第三节 构造一个简单的Linux系统MenuOS By 20135203齐岳 Linux内核源代码 arch/ 支持不同cpu的源代码 Documentations/ 文档存储 init/ 内核启动相 ...

  4. 2019基于Hexo快速搭建个人博客,打造一个炫酷博客(1)-奥怪的小栈

    本文转载于:奥怪的小栈 这篇文章告诉你如何在2019快速上手搭建一个像我一样的博客:基于HEXO+Github搭建.并完成SEO优化,打造一个炫酷博客. 本站基于HEXO+Github搭建.所以你需要 ...

  5. [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(二)

    一步步打造一个简单的 MVC 电商网站 - BooksStore(二) 本系列的 GitHub地址:https://github.com/liqingwen2015/Wen.BooksStore 前: ...

  6. [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(四)

    一步步打造一个简单的 MVC 电商网站 - BooksStore(四) 本系列的 GitHub地址:https://github.com/liqingwen2015/Wen.BooksStore &l ...

  7. 用PHP打造一个高性能好用的网站

    用PHP打造一个高性能好用的网站 1. 说到高可用的话要提一下redis,用过的都知道redis是一个具备数据库特征的nosql,正好弥补了PHP的瓶颈,个人认为PHP的 瓶颈在于数据库,像Apach ...

  8. phantomjs + python 打造一个微信机器人

    phantomjs + python 打造一个微信机器人 1.前奏   媳妇公司不能上网,但经常需要在公众号上找一些文章做一些参考,需要的时候就把文章链接分享给我,然后我在浏览器打开网页,一点点复制过 ...

  9. 如何打造一个"逼格"的web前端项目

    最近利用空余的时间(坐公交车看教程视频),重新了解了前后端分离,前端工程化等概念学习,思考如何打造一个“逼格”的web前端项目. 前端准备篇 前端代码规范:制定前端开发代码规范文档. PS:重中之中, ...

  10. Css打造一个简单的静态七巧板

    偶然在微博上看到用css写一个七巧板,正好也有一些源代码,于是就试着敲了敲. 主要是利用了css3的transform,实现平移,旋转,变形,直接用看到的代码敲出来之后有些问题,因为宽度上下面绿色的三 ...

随机推荐

  1. redis基本数据类型 SortedSet

    SortedSet命令练习 将班级的下列学生得分存入Redis的SortedSet中:Jack 85, Lucy 89, Rose 82, Tom 95,Jerry 78, Amy 92, Miles ...

  2. oracle问题:ORA-09817及解决办法

    某天以管理员身份登录公司测试库报ORA-09817错误,查了网上的文章说是审计文件没有存储空间造成的.我的这问题也证实了这一点,现将解决步骤分享: 1.发现问题:报ORA-09817 oracle@l ...

  3. C++的extern关键字在HotSpot VM中的重要应用

    extern关键字有两个用处: (1)extern在C/C++语言中表示函数和全局变量作用范围(可见性)的关键字,这个关键字会告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用. (2)在C+ ...

  4. Go基础之变量和常量

    Go基础之变量和常量 目录 Go基础之变量和常量 一. 标识符.关键字.内置类型和函数 1.1 标识符 1.2 关键字 1.3 保留字 1.4 内置类型 1.4.1 值类型: 1.4.2 引用类型:( ...

  5. ModelScope

    欢迎来到ModelScope平台!本篇文章介绍如何快速开始使用ModelScope平台上的模型,包括所需的基础概念,环境安装,模型推理和训练的快速实践示例. 如何开始# 如果你是新手,想快速体验产品, ...

  6. math库常用函数+产生随机数总结

    math库常用函数+产生随机数总结 1.对x开平方 double sqrt(x)://返回值为double类型,输入的x类型随意,只要是数的类型 2.求常数e的x次方 double exp(x);// ...

  7. 深入理解 Netty FastThreadLocal

    作者:vivo 互联网服务器团队- Jiang Zhu 本文以线上诡异问题为切入点,通过对比JDK ThreadLocal和Netty FastThreadLocal实现逻辑以及优缺点,并深入解读源码 ...

  8. 使用JNA读取dll文件

    由于项目需要进行读卡操作,需要使用java进行读取dll文件 设备:德卡T10 1. 引入POM文件 <dependency> <groupId>net.java.dev.jn ...

  9. c#中单例模式详解

    基础介绍:   确保一个类只有一个实例,并提供一个全局访问点.   适用于需要频繁实例化然后销毁的对象,创建对象消耗资源过多,但又经常用到的对象,频繁访问数据库或文件的对象.   其本质就是保证在整个 ...

  10. JavaScript 语法:数组的定义及其常用属性与方法

    作者:WangMin 格言:努力做好自己喜欢的每一件事 当一个程序需要用到多个数据的时候,这时我们就需要用到数组来将这些数据集合起来,以便后期调用.接下来就开始学习吧!! 数组的定义方法 1 .第一种 ...