项目开源:在线操作系统(基于Docker容器)

171 阅读1分钟

LearnOS开源项目简介

在线体验

部署教程

项目开源仓库

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


该项目主要功能使用以下框架开发

  1. gin
  2. gorm
  3. etcd v3
  4. go-micro
  5. dockerSDK

各个节点功能的相关介绍

  • WebNode

    • 提供用户web面板
    • 提供ssh终端登录服务
    • 提供websocket数据转发
    • 开放用户http接口与GateWayNode进行数据交互
  • GateWayNode

    • 与数据库进行交互
    • 用户操作相关功能实现
      • 登录、注册、发送验证码、中间件...
    • 容器操作相关功能实现
      • 发送容器创建、获取容器状态、删除等致消息队列中
    • 转发websocket请求、对websocket进行鉴权等相关操作
  • ContainerNode

    • 容器相关功能
      • 创建容器
      • 容器资源限制
      • 主动/被动删除容器