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

相关文章

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

如何在pycharm安装torch包

《如何在pycharm安装torch包》:本文主要介绍如何在pycharm安装torch包方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录在pycharm安装torch包适http://www.chinasem.cn配于我电脑的指令为适用的torch包为总结在p

在PyCharm中安装PyTorch、torchvision和OpenCV详解

《在PyCharm中安装PyTorch、torchvision和OpenCV详解》:本文主要介绍在PyCharm中安装PyTorch、torchvision和OpenCV方式,具有很好的参考价值,... 目录PyCharm安装PyTorch、torchvision和OpenCV安装python安装PyTor

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

Python 中的 with open文件操作的最佳实践

《Python中的withopen文件操作的最佳实践》在Python中,withopen()提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异... 目录什么是 with open()?为什么使用 with open()?使用 with open() 进行

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1