首页
/ 使用Docker Compose部署openspug/spug运维平台的完整指南

使用Docker Compose部署openspug/spug运维平台的完整指南

2025-07-06 05:41:05作者:霍妲思

前言

openspug/spug是一款开源的轻量级运维平台,提供了主机管理、任务调度、应用发布等核心功能。本文将详细介绍如何使用Docker Compose快速部署spug运维平台,帮助运维人员快速搭建自己的运维管理系统。

准备工作

在开始部署前,请确保您的系统已安装以下组件:

  • Docker引擎(建议版本18.06+)
  • Docker Compose(建议版本1.25.0+)

部署架构解析

spug采用典型的Web应用架构,由以下两个核心服务组成:

  1. 数据库服务:使用MariaDB 10.8作为数据存储
  2. 应用服务:基于openspug/spug-service镜像提供的Web界面和后台服务

详细配置说明

数据库服务配置

db:
  image: mariadb:10.8
  container_name: spug-db
  restart: always
  command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
  volumes:
    - /data/spug/mysql:/var/lib/mysql
  environment:
    - MYSQL_DATABASE=spug
    - MYSQL_USER=spug
    - MYSQL_PASSWORD=spug.cc
    - MYSQL_ROOT_PASSWORD=spug.cc

关键参数解析

  • character-set-servercollation-server参数确保数据库支持完整的UTF-8字符集
  • 数据持久化通过挂载本地目录/data/spug/mysql实现
  • 默认创建了名为spug的数据库和同名用户,密码为spug.cc

应用服务配置

spug:
  image: openspug/spug-service
  container_name: spug
  privileged: true
  restart: always
  volumes:
    - /data/spug/service:/data/spug
    - /data/spug/repos:/data/repos
  ports:
    - "80:80"
  environment:
    - SPUG_DOCKER_VERSION=v3.2.4
    - MYSQL_DATABASE=spug
    - MYSQL_USER=spug
    - MYSQL_PASSWORD=spug.cc
    - MYSQL_HOST=db
    - MYSQL_PORT=3306
  depends_on:
    - db

关键参数解析

  • privileged: true赋予容器特殊权限,用于执行一些运维操作
  • 挂载两个关键目录:
    • /data/spug/service:存储应用配置和日志
    • /data/spug/repos:存储代码仓库等数据
  • 环境变量配置了数据库连接信息,确保应用能正确连接到MariaDB服务

部署步骤

  1. 创建必要的本地目录:

    mkdir -p /data/spug/{mysql,service,repos}
    
  2. 将提供的docker-compose.yml文件保存到合适位置

  3. 启动服务:

    docker-compose up -d
    
  4. 等待服务初始化完成后,访问http://服务器IP即可进入spug平台

常见问题解决方案

端口冲突问题

如果80端口已被占用,可以修改ports配置为其他端口,例如:

ports:
  - "8080:80"

数据备份与恢复

备份数据库

docker exec spug-db mysqldump -u root -pspug.cc spug > spug_backup.sql

恢复数据库

docker exec -i spug-db mysql -u root -pspug.cc spug < spug_backup.sql

版本升级

  1. 备份数据
  2. 修改docker-compose.yml中的镜像版本
  3. 执行docker-compose up -d重新部署

安全建议

  1. 修改默认密码:部署后应立即修改数据库和应用中的默认密码
  2. 限制访问:通过防火墙限制仅允许特定IP访问80端口
  3. 定期备份:设置定时任务备份数据库和重要目录

总结

通过Docker Compose部署openspug/spug运维平台,我们实现了快速搭建和易于维护的部署方案。这种部署方式具有以下优势:

  • 环境隔离,避免污染主机系统
  • 一键启动/停止,管理方便
  • 配置清晰,易于自定义
  • 数据持久化,确保安全

希望本指南能帮助您顺利部署spug运维平台,提升日常运维工作效率。