docker安装open-cmdb

2024-01-07 18:32
文章标签 安装 docker open cmdb

本文主要是介绍docker安装open-cmdb,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

open-cmdb的代码地址
https://github.com/open-cmdb/cmdb

将下述代码保存到 install_cmdb.py 并执行 sudo python3 install_cmdb.py 即可一键安装。

# -*- coding: utf-8 -*-
import os
import subprocess
import argparse
import timedef base(cmd):if subprocess.call(cmd, shell=True):raise Exception("{} 执行失败".format(cmd))def install_docker():base("sudo yum install -y yum-utils device-mapper-persistent-data lvm2")base("sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo")base("sudo yum makecache fast")base("sudo yum -y install docker-ce")if(not os.path.exists("/etc/docker")):base("mkdir -p /etc/docker")with open("/etc/docker/daemon.json", "w") as f:f.write('{\n    "registry-mirrors": ["https://9f4w4icn.mirror.aliyuncs.com"] \n}')base("sudo systemctl daemon-reload")base("sudo systemctl start docker")def create_dir():if (not os.path.exists("/var/cmdb/db")):base("sudo mkdir -p /var/cmdb/db")if (not os.path.exists("/var/cmdb/es")):base("sudo mkdir -p /var/cmdb/es")def run_db_container():base("sudo docker run --name cmdb-db -d -e MYSQL_ROOT_PASSWORD=cmdbcmdb -v /var/cmdb/db:/var/lib/mysql mysql:5.7.21")def run_es_container():base("sudo docker run --name cmdb-es -d -v /var/cmdb/es:/usr/share/elasticsearch/data elasticsearch:5.6.8")def init_db():base("sudo docker run -it --rm --link cmdb-db -e ENV=PRO -e DB_HOST=cmdb-db -e DB_PORT=3306 -e DB_USERNAME=root -e DB_PASSWORD=cmdbcmdb -e DB_NAME=cmdb mingmingtang/cmdb init-db")def run_cmdb_container(site_url, email_host, email_port, email_username, email_password):base("sudo docker run -d --name cmdb --link cmdb-db --link cmdb-es -p 80:80 -e ENV=PRO -e SITE_URL={} -e DB_HOST=cmdb-db -e DB_PORT=3306 -e DB_USERNAME=root -e DB_PASSWORD=cmdbcmdb -e DB_NAME=cmdb -e ELASTICSEARCH_HOSTS=cmdb-es -e EMAIL_HOST={} -e EMAIL_PORT={} -e EMAIL_USERNAME={} -e EMAIL_PASSWORD={} mingmingtang/cmdb start".format(site_url, email_host, email_port, email_username, email_password))def input_para(help):value = ""while(not value):value = raw_input(help)return valueif __name__ == '__main__':if(os.geteuid() != 0):raise("请以root权限运行")site_url = input_para("请输入网站域名或IP(http://cmdb.xxx.com):")email_host = input_para("网站邮箱服务器(smtp.163.com):")email_port = input_para("邮箱服务器端口(25):")email_username = input_para("邮箱用户名(cmdb@163.com):")email_password = input_para("邮箱密码|独立授权码(P@ssw0rd):")print("开始安装docker")install_docker()print("开始创建目录")create_dir()print("开始运行mysql容器")run_db_container()print("开始运行elasticsearch容器")run_es_container()print("等待数据库启动完成(10s)")time.sleep(10)print("开始初始化数据库")init_db()print("开始运行cmdb")run_cmdb_container(site_url, email_host, email_port, email_username, email_password)print("完成!")

输入网站地址和邮箱信息开始安装
安装完成后执行
sudo docker ps
查看三个容器是否正常运行
在这里插入图片描述
访问输入的网站地址即可看到登陆页面(默认使用80端口)
在这里插入图片描述
使用命令
docker exec -it cmdb bash
cd /opt/cmdb && python manage.py createsuperuser
根据提示新增一个管理员账号
使用命令exit退出容器
之后使用设置的管理员账号登陆即可
在这里插入图片描述
默认是有一个admin的账号 但是未找到密码 开发者页面也未提供 不知道为什么
在这里插入图片描述
mysql、es文件都映射在/var/cmdb下
卸载只需清理生成的三个容器和清除该目录即可

这篇关于docker安装open-cmdb的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/580857

相关文章

python项目打包成docker容器镜像的两种方法实现

《python项目打包成docker容器镜像的两种方法实现》本文介绍两种将Python项目打包为Docker镜像的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录简单版:(一次成功,后续下载对应的软件依赖)第一步:肯定是构建dockerfile,如下:第二步

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

Docker + Redis 部署集群的实现步骤

《Docker+Redis部署集群的实现步骤》本文详细介绍了在三台服务器上部署高可用Redis集群的完整流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录一、环境准备1. 服务器规划(3 台服务器)2. 防火墙配置(三台服务器均执行)3. 安装 docke

win10安装及配置Gradle全过程

《win10安装及配置Gradle全过程》本文详细介绍了Gradle的下载、安装、环境变量配置以及如何修改本地仓库位置,通过这些步骤,用户可以成功安装并配置Gradle,以便进行项目构建... 目录一、Gradle下载1.1、Gradle下载地址1.2、Gradle下载步骤二、Gradle安装步骤2.1、安

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

docker 重命名镜像的实现方法

《docker重命名镜像的实现方法》在Docker中无法直接重命名镜像,但可通过添加新标签、删除旧镜像后重新拉取/构建,或在DockerCompose中修改配置文件实现名称变更,感兴趣的可以了解一下... 目录使用标签(Tagging)删除旧的php镜像并重新拉取或构建使用docker Compose在Do

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都