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

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do