LearnOS开源项目简介
- Learnos项目是一个使用Go语言开发,基于GoMicro微服务框架的开源项目
- 项目的核心功能为在线创建/使用各种环境,可用于学习/测试(Docker实现)
- 项目使用微服务架构,可水平扩展各个节点
- 请勿将本项目用于商业用途,否则所造成的一切损失请自行承担

该项目主要功能使用以下框架开发
- gin
- gorm
- etcd v3
- go-micro
- dockerSDK
各个节点功能的相关介绍
-
WebNode
- 提供用户web面板
- 提供ssh终端登录服务
- 提供websocket数据转发
- 开放用户http接口与GateWayNode进行数据交互
-
GateWayNode
- 与数据库进行交互
- 用户操作相关功能实现
- 登录、注册、发送验证码、中间件...
- 容器操作相关功能实现
- 发送容器创建、获取容器状态、删除等致消息队列中
- 转发websocket请求、对websocket进行鉴权等相关操作
-
ContainerNode
- 容器相关功能
- 创建容器
- 容器资源限制
- 主动/被动删除容器
- 容器相关功能