首页
/ SiteServer CMS Docker 部署指南

SiteServer CMS Docker 部署指南

2025-07-09 03:58:20作者:劳婵绚Shirley

概述

SiteServer CMS(简称 SSCMS)是一款基于.NET Core开发的内容管理系统。本文将详细介绍如何使用Docker快速部署SSCMS系统,帮助开发者和管理员轻松搭建内容管理平台。

获取SSCMS Docker镜像

SSCMS提供了官方Docker镜像,跟随版本同步更新。获取镜像的方式如下:

获取最新版本镜像

docker pull sscms/core:latest

获取指定版本镜像

docker pull sscms/core:<版本号>

建议在生产环境中使用指定版本号而非latest标签,以确保系统稳定性。

运行SSCMS容器

基本运行方式(使用SQLite数据库)

  1. 首先创建数据存储目录:
mkdir wwwroot
  1. 运行容器:
docker run -d \
    --name my-sscms \
    -p 80:80 \
    --restart=always \
    -v "$(pwd)"/wwwroot:/app/wwwroot \
    -e SSCMS_SECURITY_KEY=e2a3d303-ac9b-41ff-9154-930710af0845 \
    -e SSCMS_DATABASE_TYPE=SQLite \
    sscms/core:latest

参数说明:

  • -d:后台运行容器
  • --name:指定容器名称
  • -p:端口映射(主机端口:容器端口)
  • --restart=always:确保容器自动重启(重要)
  • -v:挂载数据卷,持久化存储网站数据
  • -e:设置环境变量

使用Docker Volume存储数据

作为替代方案,可以使用Docker Volume来管理数据:

docker run -d \
    --name my-sscms \
    -p 80:80 \
    --restart=always \
    -v volume-sscms:/app/wwwroot \
    -e SSCMS_SECURITY_KEY=e2a3d303-ac9b-41ff-9154-930710af0845 \
    -e SSCMS_DATABASE_TYPE=SQLite \
    sscms/core:latest

环境变量配置详解

SSCMS容器支持通过环境变量进行配置,以下是关键配置项:

必需配置项

  1. SSCMS_SECURITY_KEY
    用于客户端与服务器端加密通信的密钥,建议使用GUID格式的随机字符串。

  2. SSCMS_DATABASE_TYPE
    指定数据库类型,可选值:

    • MySQL
    • SQLServer
    • PostgreSQL
    • SQLite(默认)

数据库连接配置

当使用非SQLite数据库时,需要配置以下参数:

方式一:分项配置

  • SSCMS_DATABASE_HOST:数据库服务器地址
  • SSCMS_DATABASE_PORT:数据库端口
  • SSCMS_DATABASE_USER:数据库用户名
  • SSCMS_DATABASE_PASSWORD:数据库密码
  • SSCMS_DATABASE_NAME:数据库名称

方式二:连接字符串配置

  • SSCMS_DATABASE_CONNECTION_STRING:完整的数据库连接字符串

其他配置

  • SSCMS_REDIS_CONNECTION_STRING:Redis缓存连接字符串(可选)

最佳实践建议

  1. 安全性

    • 务必设置强壮的SSCMS_SECURITY_KEY
    • 避免使用默认端口80,可改为8080等非标准端口
  2. 数据持久化

    • 生产环境建议使用Volume而非本地目录
    • 定期备份挂载的目录或Volume
  3. 性能优化

    • 对于高流量站点,建议使用MySQL/PostgreSQL而非SQLite
    • 配置Redis缓存提升性能
  4. 版本控制

    • 生产环境应固定使用特定版本镜像
    • 升级前做好备份和测试

常见问题排查

  1. 容器无法启动

    • 检查端口是否被占用
    • 查看容器日志:docker logs my-sscms
  2. 数据库连接问题

    • 确认数据库服务正常运行
    • 检查连接字符串或各分项配置是否正确
  3. 权限问题

    • 确保挂载目录有适当读写权限
    • 使用docker exec -it my-sscms bash进入容器检查

通过以上步骤,您可以快速部署一个稳定可靠的SiteServer CMS系统。根据实际需求调整配置参数,即可构建适合不同场景的内容管理平台。