OpsManage项目Docker容器化部署指南
前言
OpsManage是一款优秀的运维管理平台,采用Docker容器化部署可以大大简化安装配置过程。本文将详细介绍如何使用Docker和Docker Compose来部署OpsManage项目,帮助运维人员快速搭建完整的运维管理环境。
环境准备
在开始部署前,请确保您的服务器满足以下基本要求:
- 操作系统:推荐使用CentOS 7或更高版本
- 硬件配置:至少2核CPU,4GB内存
- 磁盘空间:至少20GB可用空间
- 网络连接:能够访问外部网络以下载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
文件,主要需要修改以下配置项:
-
MySQL配置:
- MYSQL_USER:数据库用户名
- MYSQL_PASSWORD:数据库用户密码
- MYSQL_ROOT_PASSWORD:root用户密码
-
Redis配置:
- REDIS_PASSWORD:Redis访问密码
-
RabbitMQ配置:
- RABBITMQ_DEFAULT_USER:管理用户名
- RABBITMQ_DEFAULT_PASS:管理密码
-
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中的配置一致:
-
MySQL连接信息:
- 主机名应为
mysql
(对应容器名称) - 用户名和密码与docker-compose.yaml中配置一致
- 主机名应为
-
Redis连接信息:
- 主机名应为
redis
- 密码与docker-compose.yaml中配置一致
- 主机名应为
-
RabbitMQ连接信息:
- 主机名应为
rabbitmq
- 用户名和密码与docker-compose.yaml中配置一致
- 主机名应为
启动OpsManage服务
完成所有配置后,可以启动整个服务栈:
cd /data/apps/OpsManage/docker
docker-compose up -d
这个命令会按顺序启动所有定义的服务:
- MySQL数据库
- Redis缓存
- RabbitMQ消息队列
- OpsManage应用服务
- Nginx反向代理
访问OpsManage平台
服务启动完成后,可以通过以下方式访问:
- 地址:
http://<服务器IP>:80
- 默认管理员账号:
- 用户名:admin
- 密码:admin
常见问题排查
-
服务启动失败:
- 使用
docker-compose logs
查看具体错误日志 - 检查各服务的健康状态:
docker-compose ps
- 使用
-
数据库连接问题:
- 确保MySQL容器已完全启动(可能需要等待几十秒)
- 验证
opsmanage.ini
中的连接信息是否正确
-
端口冲突:
- 检查80、8000、6379、5672等端口是否被占用
- 如需修改端口,可在docker-compose.yaml中调整
维护与管理
-
停止服务:
docker-compose down
-
重启服务:
docker-compose restart
-
更新代码:
git pull docker-compose down docker-compose up -d --build
结语
通过Docker容器化部署OpsManage,我们实现了:
- 一键式部署所有依赖服务
- 环境隔离,避免污染主机系统
- 方便的水平扩展和版本升级
- 统一的日志管理和监控
希望本指南能帮助您顺利完成OpsManage的部署工作。如需更高级的配置或定制化部署,可以参考项目的详细文档或联系开发者社区获取支持。