(【Docker项目实战】使用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实现了在网页上快速创建临时操作系统的功能。