OpsManage基于docker的部署与使用

前言

  • 自动化运维管理工具OpsManagericon-default.png?t=N7T8http://mp.weixin.qq.com/s?__biz=Mzk0NTQ3OTk3MQ==&mid=2247487736&idx=1&sn=efef3a930b88649033f61942a77f42d2&chksm=c31598b4f46211a240ffc5360ae238b27d0f495fcbe8dc18abdbd79bc25c00726f74a7312dd0&scene=21#wechat_redirect

环境

  • OS:Rocky Linux 9.3

  • docker-ce-26.1.1

  • docker-compose v2.27.0

  • OpsManage v3.0.5

配置docker

参考:

Docker学习入门icon-default.png?t=N7T8http://mp.weixin.qq.com/s?__biz=Mzk0NTQ3OTk3MQ==&mid=2247486316&idx=1&sn=9d3413d38adc8ccce13aacf5c45d68ea&chksm=c3158320f4620a36ef3cfd482f32f5ba2eebac8dc4a612408f203f66ee507d21bb7f3586be7c&scene=21#wechat_redirect

安装docker

# 安装基础包,添加docker源
dnf install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/rhel/docker-ce.repo


# 安装docker-ce
dnf install -y docker-ce


# 启动docker服务并配置自启及查看状态
systemctl enable docker --now && systemctl status docker

安装docker-compose

GitHub下载:https://github.com/docker/compose/releases

备用地址:https://pan.baidu.com/s/12EkNfgGBcz8OivFIdZF4VA?pwd=ch60

# 下载docker-compose并添加执行权限
curl -L https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose


# 检查版本
docker-compose -v

添加图片注释,不超过 140 字(可选)

配置OpsManage

获取代码

GitHub下载:https://github.com/welliamcao/OpsManage/releases 备用地址:https://pan.baidu.com/s/11vNzwO6P5zLD7CzT-FZTsQ?pwd=plcj

构建镜像

# 下载
curl -L https://github.com/welliamcao/OpsManage/archive/refs/tags/v3.0.5.tar.gz -o /opt/OpsManage.tar.gz
# 解压并改名
cd /opt
tar xzvf OpsManage-3.0.5.tar.gz
mv OpsManage-3.0.5/ OpsManage


# 构建基础镜像
cd OpsManage/ && sh docker/build.sh

修改配置文件conf/opsmanage.ini

  • host

  • user

  • password

[db]
engine = mysql
host = 192.168.199.152
port = 3306
user = root
password = Linuxjsz
database = opsmanage
[redis]
#ansible实时输出数据
host = 127.0.0.1
port = 6379
password = Linuxjsz
ansible_db = 3
celery_db = 4
default_db = 0
[amqp]
#celery消息队列中间件
host = 127.0.0.1
port = 5672
user = guest
password = guest
[deploy]
path = /var/lib/opsmanage/workspaces/
[ldap]
#启动ldap认证没有可以设置为false
enable = false
server = 192.168.10.128
port = 389
bind_dn = cn=root,dc=opsmanage,dc=com
bind_password = 123456
search_dn = ou=People,dc=opsmanage,dc=com
filter = OpenLDAP
[inception]
#SQL审核工具没有可以设置为false
enable = false
host = 192.168.1.233
port = 6669
backup_host = 192.168.1.201
backup_passwd = Linuxjsz
backup_user = root
backup_port = 3306
[email]
#发送邮箱
smtp_account = test@163.com
smtp_host = smtp.163.com
smtp_passwd = Linuxjszx12
[apply]
max_task = 10
max_expire_sec = 3600

修改配置文件docker/docker-compose.yml

  • 将opsmanage.ini和docker-compose.yml文件中相关密码配置一致。

  • MYSQL_USER

  • MYSQL_PASSWORD

  • MYSQL_ROOT_PASSWORD

sed -ri 's@/mnt/@/opt/@' /opt/OpsManage/docker/docker-compose.yml
sed -ri 's@- /data/apps/@- /opt/OpsManage/@' /opt/OpsManage/docker/docker-compose.yml
cat /opt/OpsManage/docker/docker-compose.yml
#version: "3"
services:
  db:
    container_name: db
    image: mysql:5.6
    ports:
      - "3306:3306"
    environment:
      - MYSQL_HOST=localhost
      - MYSQL_DATABASE=opsmanage
      - MYSQL_USER=opsmanage
      - MYSQL_PASSWORD=Linuxjsz
      - MYSQL_ROOT_PASSWORD=Linuxjsz
    volumes:
      - /opt/OpsManage/mysql:/var/lib/mysql
    restart: always
    networks:
      - default
  redis:
     container_name: redis
     image: redis:3.2.8
     command: redis-server
     ports:
       - "6379:6379"
     volumes:
       - /opt/OpsManage/redis:/data/redis
     networks:
       - default
  rabbitmq:
     container_name: rabbitmq
     image: rabbitmq:management
     ports:
       - "5672:5672"
       - "15672:15672"
     networks:
       - default
  ops_web:
     image: opsmanage-base:latest
     container_name: ops_web
     environment:
       MYSQL_DATABASE: opsmanage
       MYSQL_USER: "opsmanage"
       MYSQL_PASSWORD: "Linuxjsz"
     ports:
       - "8000:8000" #vim /opt/OpsManage/OpsManage/settings.py文件里面的DEBUG设置为DEBUG = True
     volumes:
       - /opt/OpsManage:/data/apps/opsmanage
       - /opt/OpsManage/upload:/data/apps/opsmanage/upload
       - /opt/OpsManage/logs:/data/apps/opsmanage/logs
     command: bash /data/apps/opsmanage/docker/start.sh
     links:
       - db
       - redis
       - rabbitmq
     depends_on:
       - db
       - redis
       - rabbitmq
     restart: always
     networks:
       - default
#  nginx:
#     image: opsmanage-nginx
#     container_name: nginx
#     ports:
#       - "80:80"
#     volumes:
#       - /opt/OpsManage/static:/usr/share/nginx/html/static
#     depends_on:
#       - ops_web
#     links:
#       - ops_web:ops_web
#     networks:
#       - default
networks:
  default:

(可选)修改Django配置文件OpsManage/setting.py

  • 需要使用Django来访问静态文件时需要修改DEBUG = True(Django仅在调试模式下能对外提供静态文件访问)

(可选)构建静态文件镜像

cd /opt/OpsManage
docker build -t opsmanage-static -f docker/Dockerfile-static .

部署服务

cd /opt/OpsManage/docker/
docker-compose up -d

查看docker状态

docker ps -a

cd /opt/OpsManage/docker/
docker-compose stats

创建Web管理员

docker exec -it ops_web bash
python3 manage.py createsuperuser

访问Web

  • http://ip:8000

  • 登录信息为上面创建的账号密码

单独部署服务

启动redis服务

cd /opt/OpsManage/docker/
docker-compose up -d redis

查看日志

docker-compose logs -f

启动db服务

 
docker-compose up -d db

查看日志,会有几次重启过程。

docker-compose logs -f

启动rabbitmq服务

docker-compose up -d rabbitmq

查看日志

docker-compose logs -f

启动ops_web服务

docker-compose up -d ops_web

查看日志

docker-compose logs -f

异常处理

查看ops_web服务启动日志及访问Web报错

访问web显示,报错原因为数据不匹配导致。

重建数据库(密码为前面配置文件设置好的)

docker exec -it db bash


mysql -uroot -p


drop database opsmanage;


create database opsmanage;


flush privileges;


mysql> exit


root@96c2940efa5b:/# exit

初始化数据库

docker exec -it ops_web bash


python3 manage.py makemigrations account
python3 manage.py makemigrations wiki
python3 manage.py makemigrations orders
python3 manage.py makemigrations navbar
python3 manage.py makemigrations databases
python3 manage.py makemigrations asset
python3 manage.py makemigrations deploy
python3 manage.py makemigrations cicd
python3 manage.py makemigrations sched
python3 manage.py makemigrations apply
python3 manage.py migrate

好了,本次部署就到这里了,登陆后测试了一下,还是不错的,但试了一下左下角3个功能无反应,具体待后续排查。

来自: OpsManage基于docker的部署与使用icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=Mzk0NTQ3OTk3MQ==&mid=2247487794&idx=1&sn=e60615c882cd0fc428a8129c6b75dfb8&chksm=c315997ef46210683775c202b36a7b72fc5521a0bd979c69a6b2b6818632b5da374e1c3bb715&token=113329682&lang=zh_CN#rd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/635998.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python实现国密GmSSL

Python实现国密GmSSL 前言开始首先安装生成公钥与私钥从用户证书中读取公钥读取公钥生成签名验证签名加密解密 遇到的大坑参考文献 前言 首先我是找得到的gmssl库,经过实操,发现公钥与密钥不能通过pem文件得到,就是缺少导入pem文件的api。这…

九宫格转圈圈抽奖活动,有加速,减速效果

在线访问demo和代码在底部 代码&#xff0c;复制就可以跑 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><tit…

作业-day-240523

思维导图 知识点问答 1、IO多路复用的原理 1、创建一个检测文件描述符的容器 fd_set fds; 2、将需要检测的文件描述符放入容器中 FD_SET(文件描述符&#xff0c;&fds); 3、通过一个阻塞函数阻塞等待容器中是否有事件产生&#xff0c;如果有一个或多个事件产生&#xff0c…

vscode 插件开发指南

1安装nodejs、vscode 2安装插件脚手架 npm install -g yo generator-code 3使用命令创建插件项目 yo code 4在vscode中打开项目 5运行调试&#xff0c;按F5键 6在新打开的窗口中按shiftctrlp 然后执行命令 7配置右键菜单命令 遇到问题&#xff1a; 1.package.json中vsc…

科大讯飞Nano+耳机套装登场:智能录音转写,办公充电新方案

目录 一、科大讯飞Nano会议耳机&#xff1a;专业会议助手 二、会议狗Kit&#xff1a;即插即用&#xff0c;智能会议新体验 三、努比亚65W氮化镓充电头&#xff1a;全能快充&#xff0c;一充多用 四、产品总结 在这个快节奏的数字化时代&#xff0c;高效沟通与信息处理能力成…

Koupleless 单进程多应用如何解决兼容问题

文&#xff5c;苟振东&#xff08;花名&#xff1a;盛知&#xff09; Koupleless 项目 committer 蚂蚁集团技术专家 本文 5789 字 阅读 12 分钟 本篇文章属于 Koupleless 进阶系列文章第二篇&#xff0c;默认读者对 Koupleless 的基础概念、能力都已经了解&#xff0c;如果还…

【VTKExamples::Texture】第六期 TextureThreshold

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例TextureThreshold,并解析接口vtkTexture,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~Y…

ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

网络空间资产梳理

网络空间资产梳理 网络安全建设的实质是对风险的管理&#xff0c;古人云&#xff1a;知己知彼百战不殆。所谓知己&#xff0c;就是要了解自己的资产以及这些资产的脆弱性&#xff0c;知彼就是了解外部威胁及威胁所使用的手段。要做到知己&#xff0c;首先就要对自身的资产进行梳…

虚拟局域网VLAN

前面的是ip地址&#xff0c;后面的子网掩码 hr和财务是俩网段&#xff0c;hr部门发的广播包财务部门也能收到&#xff0c;那么怎么把不同的网段隔离在不同的广播域里呢 如果只有俩部门就用路由器隔离就行了&#xff0c;但是部门一多每一个都用交换机就浪费钱了 可以通过虚拟…

在MySQL数据库中的视图和事务。

视图 view 临时表 作用&#xff1a;优化多表查询的效率 可以将经常使用的连接查询结果使用视图进行保存&#xff0c;避免多次重复的笛卡尔积运算 MySQL数据库在多表查询的时候会自动进行笛卡尔积运算。 如果将来经常要用到某一个多表查询的结果就可以使用视图将这个结果…

代码随想录——路径总和(Leetcode112)需要回顾

题目链接 递归 递归函数什么时候需要返回值&#xff1f; 如果需要搜索整棵二叉树且不需要处理递归返回值&#xff0c;递归函数不要返回值如果需要搜索整棵二叉树且需要处理递归返回值&#xff0c;递归函数需要返回值如果搜索其中一条条件的路径&#xff0c;递归一定需要返回值…

iOS App上架全流程及审核避坑指南

App Store作为苹果官方的应用商店&#xff0c;审核严格周期长一直让用户头疼不已&#xff0c;很多app都“死”在了审核这一关&#xff0c;那我们就要放弃iOS用户了吗&#xff1f;当然不是&#xff01;本期我们从iOS app上架流程开始梳理&#xff0c;详细了解下iOS app上架的那些…

升级版网创教程wordpress插件自动采集并发布

主要功能&#xff1a; wordpress 插件主题系列支持自动采集并发布。 主要采集: 福缘&#xff0c;中创&#xff0c;冒泡 自动采集各大项目网进行整合发布到自己个人网站 插件话更新&#xff0c;减少网络请求&#xff0c;提升稳定性 代码完美开源 傻瓜式操作&#xff0c;一…

计算机SCI期刊,中科院2区,收稿范围非常广泛!

一、期刊名称 Journal of Web Semantics 二、期刊简介概况 期刊类型&#xff1a;SCI 学科领域&#xff1a;计算机科学 影响因子&#xff1a;2.5 中科院分区&#xff1a;2区 出版方式&#xff1a;开放出版 版面费&#xff1a;$1600 三、期刊征稿范围 《网络语义学杂志》…

Redis实现热点数据排行榜或游戏积分排行榜

数据库中的某张表中存储着文章的浏览量&#xff0c;或者点赞数等&#xff0c;或者游戏积分等数据...... 这些数据的更新在redis中完成&#xff0c;并定时同步到mysql数据库中。 而如果要对这些数据进行排序的话&#xff1a; Redis中的Sorted Set(有序集合)非常适合用于实现排…

ZEDmini使用完全指南

ZEDmini使用 ZED stereolabs 开箱测评 使用说明 ubuntu18.04nvidiacuda10 ubuntu18.04ZED SDK安装和使用 Ubuntu16.04安装NVIDIA显卡驱动 查看显卡信息 redwallredwall-G3-3500:~/catkin_ws$ lspci | grep VGA 00:02.0 VGA compatible controller: Intel Corporation Device …

成功案例(IF=7.4)| 代谢组+16s联合分析助力房颤代谢重构的潜在机制研究

研究背景 心房颤动&#xff08;AF&#xff09;是临床上最常见的持续性心律失常&#xff0c;具有显著的发病率和死亡率。高龄是房颤发病率、患病率和进展最显著的危险因素。与年龄在50-59岁之间的参与者相比&#xff0c;80-89岁之间的参与者患房颤的风险增加了9.33倍。目前尚不…

IEEE Transactions on Neural Networks and Learning Systems神经网络和学习系统TNNLS论文投稿须知

一、TNNLS介绍 IEEE Transactions on Neural Networks and Learning Systems作为控制领域的TOP期刊&#xff0c;2024年5月影响因子为10.4&#xff0c;虽然有些下降&#xff0c;之前五年平均影响因子为11.2&#xff0c;但依然是该领域王牌期刊&#xff0c;接收关于神经网络和相…

【软考中级 软件设计师】计算机网络和安全

计算机网络和安全是软件设计师&#xff08;软考中级&#xff09;考试中的重要组成部分&#xff0c;它涵盖了网络基础、网络协议、网络架构、网络安全等多个方面。以下是一些核心概念和要点&#xff0c; 计算机网络基础 OSI七层模型&#xff1a;物理层、数据链路层、网络层、传…