首页
/ OpsManage项目Docker容器化部署指南

OpsManage项目Docker容器化部署指南

2025-07-09 06:19:27作者:乔或婵

前言

OpsManage是一款优秀的运维管理平台,采用Docker容器化部署可以大大简化安装配置过程。本文将详细介绍如何使用Docker和Docker Compose来部署OpsManage项目,帮助运维人员快速搭建完整的运维管理环境。

环境准备

在开始部署前,请确保您的服务器满足以下基本要求:

  1. 操作系统:推荐使用CentOS 7或更高版本
  2. 硬件配置:至少2核CPU,4GB内存
  3. 磁盘空间:至少20GB可用空间
  4. 网络连接:能够访问外部网络以下载Docker镜像

安装Docker

Docker是容器化部署的基础,首先需要在服务器上安装Docker引擎:

# 卸载旧版本Docker(如有)
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

# 添加Docker官方仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装Docker引擎
yum install docker-ce docker-ce-cli containerd.io

# 启动Docker服务
systemctl start docker

安装完成后,可以通过docker version命令验证安装是否成功。

安装Docker Compose

Docker Compose是用于定义和运行多容器Docker应用程序的工具,我们需要安装它来管理OpsManage的多个服务:

# 下载Docker Compose二进制文件
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 创建符号链接方便使用
ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose

# 赋予执行权限
chmod +x /usr/local/bin/docker-compose

验证安装:docker-compose --version

获取OpsManage项目代码

# 创建应用目录
mkdir -p /data/apps && cd /data/apps

# 克隆OpsManage项目代码
git clone -b v3 https://github.com/welliamcao/OpsManage.git

配置Docker Compose文件

OpsManage依赖多个服务组件,包括MySQL、Redis、RabbitMQ等,我们使用Docker Compose来统一管理这些服务。

编辑/data/apps/OpsManage/docker/docker-compse.yaml文件,主要需要修改以下配置项:

  1. MySQL配置:

    • MYSQL_USER:数据库用户名
    • MYSQL_PASSWORD:数据库用户密码
    • MYSQL_ROOT_PASSWORD:root用户密码
  2. Redis配置:

    • REDIS_PASSWORD:Redis访问密码
  3. RabbitMQ配置:

    • RABBITMQ_DEFAULT_USER:管理用户名
    • RABBITMQ_DEFAULT_PASS:管理密码
  4. Ops_web服务配置:

    • MYSQL_PASSWORD:与MySQL配置中的密码保持一致

构建基础镜像

OpsManage需要构建一个自定义的基础镜像:

cd /data/apps/OpsManage
docker build -t opsmanage-base -f docker/Dockerfile .

这个构建过程会安装OpsManage运行所需的所有Python依赖包和环境配置。

修改应用配置文件

编辑conf/opsmanage.ini文件,确保其中的数据库、Redis和RabbitMQ配置与docker-compose.yaml中的配置一致:

  1. MySQL连接信息:

    • 主机名应为mysql(对应容器名称)
    • 用户名和密码与docker-compose.yaml中配置一致
  2. Redis连接信息:

    • 主机名应为redis
    • 密码与docker-compose.yaml中配置一致
  3. RabbitMQ连接信息:

    • 主机名应为rabbitmq
    • 用户名和密码与docker-compose.yaml中配置一致

启动OpsManage服务

完成所有配置后,可以启动整个服务栈:

cd /data/apps/OpsManage/docker
docker-compose up -d

这个命令会按顺序启动所有定义的服务:

  1. MySQL数据库
  2. Redis缓存
  3. RabbitMQ消息队列
  4. OpsManage应用服务
  5. Nginx反向代理

访问OpsManage平台

服务启动完成后,可以通过以下方式访问:

  • 地址:http://<服务器IP>:80
  • 默认管理员账号:
    • 用户名:admin
    • 密码:admin

常见问题排查

  1. 服务启动失败

    • 使用docker-compose logs查看具体错误日志
    • 检查各服务的健康状态:docker-compose ps
  2. 数据库连接问题

    • 确保MySQL容器已完全启动(可能需要等待几十秒)
    • 验证opsmanage.ini中的连接信息是否正确
  3. 端口冲突

    • 检查80、8000、6379、5672等端口是否被占用
    • 如需修改端口,可在docker-compose.yaml中调整

维护与管理

  1. 停止服务

    docker-compose down
    
  2. 重启服务

    docker-compose restart
    
  3. 更新代码

    git pull
    docker-compose down
    docker-compose up -d --build
    

结语

通过Docker容器化部署OpsManage,我们实现了:

  • 一键式部署所有依赖服务
  • 环境隔离,避免污染主机系统
  • 方便的水平扩展和版本升级
  • 统一的日志管理和监控

希望本指南能帮助您顺利完成OpsManage的部署工作。如需更高级的配置或定制化部署,可以参考项目的详细文档或联系开发者社区获取支持。