
点击:Linux技术宅,关注我!!!
OS:Rocky Linux 9.3
docker-ce-26.1.1
docker-compose v2.27.0
OpsManage v3.0.5
参考:Docker学习入门
安装docker
# 安装基础包,添加docker源dnf install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/rhel/docker-ce.repo# 安装docker-cednf 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-composechmod +x /usr/local/bin/docker-compose# 检查版本docker-compose -v

获取代码
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 opttar xzvf OpsManage-3.0.5.tar.gzmv OpsManage-3.0.5/ OpsManage# 构建基础镜像cd OpsManage/ && sh docker/build.sh

修改配置文件conf/opsmanage.ini
host
user
password
sed -ri "s@welliam@Linuxjsz@g" opt/OpsManage/conf/opsmanage.inicat /opt/OpsManage/conf/opsmanage.ini
[db]engine = mysqlhost = 192.168.199.152port = 3306user = rootpassword = Linuxjszdatabase = opsmanage[redis]#ansible实时输出数据host = 127.0.0.1port = 6379password = Linuxjszansible_db = 3celery_db = 4default_db = 0[amqp]#celery消息队列中间件host = 127.0.0.1port = 5672user = guestpassword = guest[deploy]path = var/lib/opsmanage/workspaces/[ldap]#启动ldap认证没有可以设置为falseenable = falseserver = 192.168.10.128port = 389bind_dn = cn=root,dc=opsmanage,dc=combind_password = 123456search_dn = ou=People,dc=opsmanage,dc=comfilter = OpenLDAP[inception]#SQL审核工具没有可以设置为falseenable = falsehost = 192.168.1.233port = 6669backup_host = 192.168.1.201backup_passwd = Linuxjszbackup_user = rootbackup_port = 3306[email]#发送邮箱smtp_account = test@163.comsmtp_host = smtp.163.comsmtp_passwd = Linuxjszx12[apply]max_task = 10max_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.ymlsed -ri 's@- /data/apps/@- /opt/OpsManage/@' /opt/OpsManage/docker/docker-compose.ymlcat opt/OpsManage/docker/docker-compose.yml
#version: "3"services:db:container_name: dbimage: mysql:5.6ports:- "3306:3306"environment:- MYSQL_HOST=localhost- MYSQL_DATABASE=opsmanage- MYSQL_USER=opsmanage- MYSQL_PASSWORD=Linuxjsz- MYSQL_ROOT_PASSWORD=Linuxjszvolumes:- /opt/OpsManage/mysql:/var/lib/mysqlrestart: alwaysnetworks:- defaultredis:container_name: redisimage: redis:3.2.8command: redis-serverports:- "6379:6379"volumes:- /opt/OpsManage/redis:/data/redisnetworks:- defaultrabbitmq:container_name: rabbitmqimage: rabbitmq:managementports:- "5672:5672"- "15672:15672"networks:- defaultops_web:image: opsmanage-base:latestcontainer_name: ops_webenvironment:MYSQL_DATABASE: opsmanageMYSQL_USER: "opsmanage"MYSQL_PASSWORD: "Linuxjsz"ports:- "8000:8000" #vim opt/OpsManage/OpsManage/settings.py文件里面的DEBUG设置为DEBUG = Truevolumes:- /opt/OpsManage:/data/apps/opsmanage- /opt/OpsManage/upload:/data/apps/opsmanage/upload- /opt/OpsManage/logs:/data/apps/opsmanage/logscommand: bash data/apps/opsmanage/docker/start.shlinks:- db- redis- rabbitmqdepends_on:- db- redis- rabbitmqrestart: alwaysnetworks:- 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:# - defaultnetworks:default:
(可选)修改Django配置文件OpsManage/setting.py
需要使用Django来访问静态文件时需要修改DEBUG = True(Django仅在调试模式下能对外提供静态文件访问)
(可选)构建静态文件镜像
cd opt/OpsManagedocker 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 bashpython3 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 bashmysql -uroot -pdrop database opsmanage;create database opsmanage;flush privileges;mysql> exitroot@96c2940efa5b:/# exit
初始化数据库
docker exec -it ops_web bashpython3 manage.py makemigrations accountpython3 manage.py makemigrations wikipython3 manage.py makemigrations orderspython3 manage.py makemigrations navbarpython3 manage.py makemigrations databasespython3 manage.py makemigrations assetpython3 manage.py makemigrations deploypython3 manage.py makemigrations cicdpython3 manage.py makemigrations schedpython3 manage.py makemigrations applypython3 manage.py migrate

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

分享、在看与点赞
只要你点,我们就是胖友





