huoxin233 / DockerLabs-V1

Docker NAT容器自助部署php版本,实现从搭建到跑路的全生命周期功能。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DockerLabs-V1

游客可通过web页面直接创建出NAT容器,本项目从发布后将不再维护任何bug,以后有时间会出sdk重构版。

dockerlabs

环境要求

使用了赛邮云发送短信号码,需要自己去申请appid和appkey填写到app_config.php文件中。需要修改所有html文件和api/kill.php中的接口调用地址

  • php7
  • nginx
  • docker
  • 数据库说明

    创建docker数据库然后执行docker.sql文件导入表结构与demo数据

  • code表为使用码表
  • host表为容器表
  • node表为节点表
  • runing表为正在运行的容器表
  • 节点初始化配置

  • 1.安装docker
  • 2.开启API
  • $ systemctl show --property=FragmentPath docker </br>
    $ vi /lib/systemd/system/docker.service  </br>
    ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:1117  </br>
    $ systemctl daemon-reload  && systemctl restart docker
  • 3.拉取基础镜像(或者自己在本地build镜像)
  • 请参考https://github.com/xizim/docker-ttyd

    API结构说明

  • api/config.php --- 数据库配置
  • api/create.php --- 容器创建接口
  • api/docker.php --- 容器操作接口,包含创建、启动、停止、删除功能
  • api/GetCount.php --- 获取已创建过的容器数量
  • api/Getport.php --- 获取容器的SSH端口、外部放行端口
  • api/Getstatus.php --- 获取容器信息,版本、宿主机IP、内部端口、外部端口、CPU、内存、使用时长、容器状态
  • api/kill.php --- 删除容器接口
  • api/time.php --- 定时任务,删除已过使用时长的容器、删除已过期的验证码
  • api/GetNodeStatus.php ---获取节点状态
  • docker.sql --- 数据库结构
  • About

    Docker NAT容器自助部署php版本,实现从搭建到跑路的全生命周期功能。


    Languages

    Language:PHP 61.6%Language:HTML 23.8%Language:CSS 12.4%Language:JavaScript 2.3%