Skip to content
This repository has been archived by the owner on Aug 10, 2021. It is now read-only.

Mr-Linus/DCMP

Repository files navigation

DCMP (Docker Container Management Platform)

DCMP 🐋 💦 is a Docker Container Management Platform using the django framework and python language and it is suitable for internal network deployment.

build License PythonVersion DjangoVersion FOSSA Status

Language: English | 中文

Features

  • WEB MONITOR

Concise, efficient, data visualization

  • Container MANAGEMENT

Efficient, responsive, second-level deployment

  • ANALYSTICS

Data visualization, dynamic updates

  • DEPLOY SERVICES

Multiple mirroring, load balancing, high availability

Overview

  • Promotion Page

PromotionPage

  • Login Page

Login

  • Dashboard

DashboardPage

  • Containters Management

Containers

  • Containters Deploy

Deploy

  • Swarm Monitor

swarm

  • Images Management

images

  • Volumes Management

volumes

  • Networks Management

networks

  • Events Monitor

events

  • User Management

user

Development Test Environment

  • Python 3.6 (Recommend)
  • Django 2.0 (Necessary)
  • Docker 18.03-ce
  • Redis 2.0.6

Third party plugins (Necessary)

  • django-bootstrap3
  • psutil
  • docker-py
  • celery

Install plugins:

pip install -r requirements.txt

Running DCMP in Docker

# Create docker network 
docker network create dcmp
# Create redis as message queue
docker run -d --name dcmp-redis --net dcmp  redis  
# Run dcmp backend
docker run -itd --name dcmp-backend \
       -v /var/run/docker.sock:/var/run/docker.sock \
       --net dcmp  \
       registry.cn-hangzhou.aliyuncs.com/geekcloud/dcmp:backend
# Run DCMP frontend
docker run -itd --name dcmp-nginx \
       -p 8000:80 \
       --net dcmp \
       registry.cn-hangzhou.aliyuncs.com/geekcloud/dcmp:nginx

You can see DCMP: http://localhost:8000/

username:admin password:dcmpdcmp123

Usage

  • Initialize Docker (PreStep):
docker swarm init #Please Your make sure your Docker engine is turned on 
  • Refresh & Synchronize the database(Step 1):
python manage.py makemigrations
python manage.py migrate
  • Create Superuser(Step 2):
python manage.py createsuperuser

Superuser has the ability to create user.

  • Run the website(Step 3):
python manage.py runserver
  • Start the Redis server(Step 4):
docker run --name dcmp-redis -p 6379:6379 redis
  • Start the Celery Worker(Step 5):
celery -A DCMP worker -l info

Update Logs

V3.2.0 Date :2019/2/12

  • Upgrade the struct of docker

V3.1.0 Date :2019/1/26

  • Add ajax dynamic update function

V3.0.1 Date :2018/8/17

  • Fix errors in Redis

V3.0(Beta) Date :2018/7/12

  • Add Celery to accelerate docker services
  • Add Rabbitmq to processing messages
  • Fix some bugs

V2.6(Beta) Date :2018/5/2

  • Add User ManageMent Function(Rewrite to User Management)
  • Fix some bugs

V2.5 Date :2018/4/30

  • Add Swarm Function
  • Add Image Function
  • Add Volume Function
  • Add Network Function
  • Fix some bugs

V2.4 Date :2018/4/29

  • Add Deploy funtion
  • Fix some bugs

V2.3 Date :2018/4/25

  • Add container function
  • Fix some bugs

V2.2 Date :2018/4/21

  • Add system lib
  • Add docker lib
  • Fix login bugs

V2.1 Date :2018/4/18

  • Finish login/logout function
  • Rewrite login static HTML page
  • Fix bugs

V2.0 Date :2018/4/15

  • Use Model Form instead of traditional HTML forms
  • Compact code
  • Rewrite : Models , Views
  • Add Django-BootStrap3 to render HTML Pages

V1.0 Date :2018/4/10

  • Finish Promotional page
  • Finish Sending email
  • Finish Saving Contacts
  • Finish Interactive management terminal

Schedule(Finished)

  • Promotional page
  • Sending email
  • Saving Contacts
  • Interactive Management terminal
  • Index Dashboard
  • Login Page
  • Login Interface
  • Docker Lib
  • Docker Monitor
  • Docker Swarm Monitor
  • Docker Container Management
  • Docker Deploy Function
  • Docker Image Management
  • User Management
  • Docker Network Management
  • Docker Volume Management

Follow-up function

  • i18N Internationalization
  • Container Status Details