All Projects → kurolz → Djangoweb

kurolz / Djangoweb

基于Django的运维平台

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Djangoweb

Ansible Windows Docker Springboot
Example project showing how to provision, deploy, run & orchestrate Spring Boot apps with Docker Windows Containers on Docker Windows native using Packer, Powershell, Vagrant & Ansible
Stars: ✭ 58 (-57.66%)
Mutual labels:  devops, docker-compose
Nuxx
Visual Docker composer for faster development. Discover, leverage, and launch community recipes.
Stars: ✭ 79 (-42.34%)
Mutual labels:  django, docker-compose
Stacker Cli
Docker Compose Templates
Stars: ✭ 61 (-55.47%)
Mutual labels:  devops, docker-compose
Onec Cicd
😎 CI-стенд для 1С:Предприятие 8.3.
Stars: ✭ 32 (-76.64%)
Mutual labels:  devops, docker-compose
Docker Bootstrap Collection
Docker bootstrap templates to deliver applications faster
Stars: ✭ 102 (-25.55%)
Mutual labels:  devops, docker-compose
Magento2 Varnish Redis Ssl Docker Compose
Deploy Magento2 with Varnish Cache and Redis with SSL termination using Docker-compose tool
Stars: ✭ 37 (-72.99%)
Mutual labels:  devops, docker-compose
Cintodeutilidadesdocker
My Docker templates repository 🐳 ☁️ 🐳
Stars: ✭ 74 (-45.99%)
Mutual labels:  devops, docker-compose
Cabot
Self-hosted, easily-deployable monitoring and alerts service - like a lightweight PagerDuty
Stars: ✭ 5,209 (+3702.19%)
Mutual labels:  django, devops
Django Project Template
Thorgate's Django project template - Django, React, Sass, optional Docker and more
Stars: ✭ 91 (-33.58%)
Mutual labels:  django, docker-compose
Docker Django Example
A production ready example Django app that's using Docker and Docker Compose.
Stars: ✭ 86 (-37.23%)
Mutual labels:  django, docker-compose
Sentry
Sentry is cross-platform application monitoring, with a focus on error reporting.
Stars: ✭ 29,700 (+21578.83%)
Mutual labels:  django, devops
Docker Nginx Postgres Django Example
Example using Docker, Django, multiple Postgres databases, NginX, Gunicorn, pipenv, GitLab CI and tox.
Stars: ✭ 110 (-19.71%)
Mutual labels:  django, docker-compose
Docker Taiga
Docker container for Taiga https://taiga.io
Stars: ✭ 14 (-89.78%)
Mutual labels:  django, docker-compose
Django Channels React Multiplayer
turn based strategy game using django channels, redux, and react hooks
Stars: ✭ 52 (-62.04%)
Mutual labels:  django, docker-compose
old vespene
DISCONTINUED: a frozen fork will exist forever at mpdehaan/vespene
Stars: ✭ 672 (+390.51%)
Mutual labels:  django, devops
Webterminal
ssh rdp vnc telnet sftp bastion/jump web putty xshell terminal jumpserver audit realtime monitor rz/sz 堡垒机 云桌面 linux devops sftp websocket file management rz/sz otp 自动化运维 审计 录像 文件管理 sftp上传 实时监控 录像回放 网页版rz/sz上传下载/动态口令 django
Stars: ✭ 1,124 (+720.44%)
Mutual labels:  django, devops
Yasql
基于Python开发的MySQL WEB版本的工单审核执行和SQL查询平台
Stars: ✭ 463 (+237.96%)
Mutual labels:  django, devops
Opman Django
💯✅自动化运维平台:CMDB、CI/CD、DevOps、资产管理、任务编排、持续交付、系统监控、运维管理、配置管理
Stars: ✭ 539 (+293.43%)
Mutual labels:  django, devops
Archer
基于inception的自动化SQL操作平台,支持SQL执行、LDAP认证、发邮件、OSC、SQL查询、SQL优化建议、权限管理等功能,支持docker镜像
Stars: ✭ 1,239 (+804.38%)
Mutual labels:  django, devops
Awx Ha Instancegroup
Build AWX clustering on Docker Standalone Installation
Stars: ✭ 106 (-22.63%)
Mutual labels:  devops, docker-compose

DjangoWeb

Background based on Django!

本例只是初级模型,是本人练手项目,没有具体的使用价值,仅供代码参考。

欢迎交流:

@ 邮箱:[email protected]

@ 个人博客: http://www.mykurol.com

架构:Python+Django+bootstrap+SaltStack+Zabbix+MySQL

资产管理:采用SaltStack调用收集主机配置信息入库

自动添加主机:输入ip、ssh用户名和密码,自动部署salt-minion,主机自动添加到salt-master

主机批量管理:调用SaltStack实现批量执行命令,结果返回到前端页面,采用Prism高亮展示代码

监控:采用Zabbix api调用收集数据,采用百度开源的ECharts绘图展示

心得:

由于是独立开发,python也是自学,从数据的获取(包括各种api的调用,数据库设计查询),到数据处理,再到前端展示,还有前端设计,遇到过各种问题,经过一段时间学习,成功完成一些功能,打开了思路,后续的思路越来越广,会继续完善这个平台。

@@ 使用Docker-compose部署Django环境:

@@ System - Centos7.0

@@ Django - 1.9.5

@@ Python - 3.6.0

yum -y install docker
systemctl start docker

###使用daocloud镜像加速###

vim /etc/docker/daemon.json

{
    "registry-mirrors": [
        "http://5c51d642.m.daocloud.io"
    ],
    "insecure-registries": []
}
docker pull mysql   # 下载镜像到本地
docker pull django:1.9.5  # 下载镜像到本地
docker pull python:3.6.0   # 下载镜像到本地
mkdir -p /mysite/{DjangoWeb,db}

Dockerfile包含创建镜像所需要的全部指令。在项目根目录下创建Dockerfile文件,其内容如下:

vim /mysite/Dockerfile

FROM python:3.6.0
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
RUN mkdir /code/db
WORKDIR /code
ADD ./DjangoWeb/requirements.txt /code/
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt 
ADD . /code/

第1行的FROM指令表示新的镜像将基于python:2.7的镜像来构建

第2行的ENV为环境变量(PYTHONUNBUFFERED见这里)

第3行的RUN指令表示在镜像内新建/code目录

第4行指定指定RUN、CMD与ENTRYPOINT命令的工作目录

第5行是将./mysite/requirements.txt文件添加到刚才新建的code目录中

第6行运行pip安装所需的软件

之前的Dockerfile定义了一个应用,而使用compose,可以在一个文件里,定义多容器的应用。该YAML配置语言,用于描述和组装多容器的分布式应用。在项目根目录创建docker-compose.yml文件,其内容如下:

vim /mysite/docker-compose.yml

db:
  image: mysql
  expose:
    - "3306"
  volumes:
    - ./db:/var/lib/mysql
  environment:
    - MYSQL_DATABASE=mysitedb
    - MYSQL_ROOT_PASSWORD=888888

web:
  build: .
  command: python ./DjangoWeb/manage.py runserver 0.0.0.0:8000
  volumes:
    - .:/code
  ports:
    - "8000:8000"
  links:
    - db

db标签:

images表示使用mysql镜像

expose表示暴露端口3306,但不发布到宿主机上

volume表示挂载宿主机的路径作为卷,冒号左边为宿主机路径,右边为镜像内路径

environment为环境变量,每个容器都有自己定义的环境变量,具体查看镜像手册中的mysql

web标签:

build指定建立Dockerfile路径

command将覆盖默认的命令

ports指定主机开放的端口

links指向其他容器中的服务

在子目录mysite下requirements.txt文件,该文件内容如下:

vim /mysite/DjangoWeb/requirements.txt 

django==1.9.5
mysqlclient
django-admin-bootstrapped
django_bootstrap3
pillow
salt

构建镜像:

cd /mysite
docker-compose build
docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysite_web          latest              43b4615f87c7        6 minutes ago       720.5 MB
docker.io/mysql     latest              b4e78b89bcf3        9 days ago          412.3 MB
docker.io/python    3.6.0               a1782fa44ef7        7 months ago        687.1 MB
docker.io/django    1.9.5               c5b6e7c5c44c        17 months ago       433.4 MB
docker-compose run web django-admin.py startproject webserver ./DjangoWeb
docker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES
ad0c75e2fd3d        mysite_web          "django-admin.py star"   5 minutes ago       Exited (0) 5 minutes ago                       mysite_web_run_1
77e91e05178d        mysql               "docker-entrypoint.sh"   5 minutes ago       Up 5 minutes               3306/tcp            mysite_db_1
chmod -R 777 DjangoWeb
vim DjangoWeb/webserver/settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mysitedb',
        'USER': 'root',
        'PASSWORD': '888888',
        'HOST': 'db',
        'PORT': 3306,
    }
}

添加net端口映射

[[email protected]_34_67_centos DjangoWeb]# docker inspect 1bf8642343e3 | grep IPAddress
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.3",
                    "IPAddress": "172.17.0.3",
[[email protected]_34_67_centos DjangoWeb]# iptables -t nat -A  DOCKER -p tcp --dport 80 -j DNAT --to-destination 172.17.0.3:8000     

现在可以将项目移入新建的项目中

然后进入将MySQL文件夹里的OBServer数据库移入mysql容器里,文件可能有损或版本问题,可自己生成数据表: 新建一个observer库,使用

(1)python manage.py makemigrations 
(2)python manage.py migrate

然后创建超级用户

python manage.py createsuperuser 

进入mysite目录,启动容器:

docker-compose up

@@ 有些python模块没有写在yml里安装,需要进入容器自行安装,报错缺少就装什么。

@ 无报错可 Crtl+C 退出应用,转入后台运行

后台运行:

docker-compose up -d

退出应用:

docker-compose stop

@@ 注意down会删除容器。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].