【Docker项目实战】使用Docker部署instantbox临时Linux系统环境搭建工具

简介: 【6月更文挑战第13天】使用Docker部署instantbox临时Linux系统环境搭建工具

一、instantbox介绍

1.1 instantbox简介

InstantBox 项目借助浏览器内即时访问技术,让用户能够即刻获得临时性的Linux系统环境,无需下载安装,在任何浏览器中即可实现对Linux系统的开发与探索。

1.2 instantbox使用场景

  • 提供一个干净的Linux环境,让学生或参与者能够无需担心系统冲突或配置问题,专注于学习和实践。
  • 在学校或聚会中提供Linux体验,让更多人了解Linux的优势和使用方式。
  • 提供清洁的环境,让参与者能够在跑步机上运动时得到灵感,思考和解决问题。
  • 管理各种设备的服务器,可以轻松监控和控制设备,提高效率和安全性。
  • 开展开源项目实验,让参与者能够学习和贡献开源项目,提升技能并与其他开发者互动。
  • 在资源有限的环境下测试软件性能,帮助开发者优化代码和提高程序效率。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
jeven 192.168.3.166 centos 7.6 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署instantbox工具。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2024-04-20 22:54:02 CST; 4 days ago
     Docs: https://docs.docker.com
 Main PID: 11385 (dockerd)
    Tasks: 9
   Memory: 124.5M
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载instantbox镜像

从docker hub拉取instantbox相关容器镜像

docker pull  instantbox/instantbox:latest
docker pull instantbox/instantbox-frontend:latest
docker pull  instantbox/cron:latest

在这里插入图片描述

五、部署instantbox

5.1 创建部署目录

创建部署目录/data/instantbox

mkdir -p /data/instantbox  && cd /data/instantbox

5.2 编辑部署文件

本次实践部署使用docker compose方式,编辑docker-compose.yaml部署文件。注意将SERVERURL变量替换为自己服务器IP地址。

version: '3'

services:
  server:
    image: instantbox/instantbox:latest
    container_name: instantbox_server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - SERVERURL=192.168.3.166
    networks:
      - instantbox_net

  frontend:
    image: instantbox/instantbox-frontend:latest
    container_name: instantbox_frontend
    links:
      - server
    ports:
      - 9888:80
    networks:
      - instantbox_net

  cron:
    image: instantbox/cron:latest
    container_name: instantbox_cron
    links:
      - frontend
    environment:
      - CRON_STRINGS=* * * * * wget -qO /dev/null http://frontend/api/v2/superinspire/prune
    networks:
      - instantbox_net

networks:
  instantbox_net:

5.3 创建instantbox容器

使用 docker compose up -d命令,快速部署instantbox应用。

  docker compose up -d

在这里插入图片描述

5.4 检查instantbox容器状态

检查instantbox容器状态,确保instantbox容器正常启动。

[root@jeven instantbox]# docker compose ps
NAME                  COMMAND                  SERVICE             STATUS              PORTS
instantbox_cron       "/docker-entry.sh /d…"   cron                running
instantbox_frontend   "nginx -g 'daemon of…"   frontend            running             0.0.0.0:9888->80/tcp, :::9888->80/tcp
instantbox_server     "/usr/bin/python3.5 …"   server              running             65501/tcp

5.7 检查instantbox容器日志

检查instantbox容器日志,确保instantbox服务正常运行。

docker compose logs

在这里插入图片描述

六、访问instantbox首页

访问地址:http://192.168.3.166:9888,将IP替换为自己服务器IP地址,进入到instantbox初始页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

在这里插入图片描述

七、安装临时操作系统

7.1 选择操作系统

在instantbox首页上,选择需要安装操作系统,这里选择ubuntu 20.04版本。

在这里插入图片描述

7.2 系统配置

这里可以选择系统的内部端口,cpu和内存规格等,自定义填写即可。

在这里插入图片描述

7.3 访问临时操作系统

点击“Launch webshell”,进入临时操作系统的命令行界面。
在这里插入图片描述

八、总结

InstantBox是一个利用浏览器内即时访问技术,让用户能够即刻获得临时性的Linux系统环境的项目。它可以在任何支持浏览器的设备上使用,无需下载安装。通过创建Linux系统的容器,并定期删除,InstantBox实现了在网页上快速创建临时操作系统的功能。

相关文章
|
1月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
110 28
|
1月前
|
Linux 定位技术
Linux系统中的cd命令:目录切换技巧
踏过千山,越过万水,人生就是一场不断前行的旅程,总充满了未知与挑战。然而,“cd”命令如同你的旅伴,会带你穿梭在如棋盘一般的文件系统中,探索每一处未知。希望你能从“cd”命令中找到乐趣,像是掌控了一种络新妙的魔法,去向未知进发,开始你的探索之旅。
117 24
|
25天前
|
Linux Shell
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
80 19
|
1月前
|
安全 Shell Linux
Linux系统之su命令的基本使用
Linux系统之su命令的基本使用
95 3
Linux系统之su命令的基本使用
|
27天前
|
Ubuntu Linux 编译器
在Ubuntu Linux系统下如何搭建并安装EDK2
以上就是在Ubuntu Linux系统下搭建并安装EDK2的过程。这个过程可能会有些复杂,但只要按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,都可以在网上找到相应的解决方案。希望这个指南能对你有所帮助!
90 17
|
1月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu系统的Docker上安装MySQL的方法
以上的步骤就是在Ubuntu系统的Docker上安装MySQL的详细方法,希望对你有所帮助!
163 12
|
2月前
|
监控 Linux Python
Linux系统资源管理:多角度查看内存使用情况。
要知道,透过内存管理的窗口,我们可以洞察到Linux系统运行的真实身姿,如同解剖学家透过微观镜,洞察生命的奥秘。记住,不要惧怕那些高深的命令和参数,他们只是你掌握系统"魔法棒"的钥匙,熟练掌握后,你就可以骄傲地说:Linux,我来了!
128 27
|
2月前
|
监控 关系型数据库 MySQL
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
151 30
|
2月前
|
关系型数据库 MySQL 应用服务中间件
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
140 23
|
2月前
|
Linux
Linux系统ext4磁盘扩容实践指南
这个过程就像是给你的房子建一个新的储物间。你需要先找到空地(创建新的分区),然后建造储物间(格式化为ext4文件系统),最后将储物间添加到你的房子中(将新的分区添加到文件系统中)。完成这些步骤后,你就有了一个更大的储物空间。
196 10