# 在 Docker 中运行 SS CMS

使用 Docker 容器技术可以在一分钟内快速方便的部署好 SSCMS 系统,这种部署方式减少了环境部署,可靠性强,容易维护。

# 1、获取最新版本 SSCMS 官方镜像

首先我们需要拉取最新版本的 SS CMS 镜像,运行命令:

docker pull sscms/core:latest

# 2、运行 SS CMS 容器

使用 SQLite 本地数据库运行 SSCMS:

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
  • -d 参数让容器以后台任务形式运行
  • -name 参数将容器实例命名为 my-sscms
  • -p 参数映射容器的80端口到宿主机的80端口,如果希望使用8080端口访问可以设置 -p 8080:80
  • -restart 参数使得容器能够自动重启,必须使用 always 选项,否则容器将无法安装及升级插件
  • -v 参数让容器使用 Volume 作为持久化存储,从而保存 SS CMS 系统数据
  • -e 参数设置容器运行环境变量,SS CMS 系统将读取环境变量,作为容器运行的参数,在此我们设置 SecurityKey 为随机的 GUID 值,数据库类型为 SQLite
  • 最后我们将容器镜像设置为之前下载的 sscms/core 镜像

上面命令将运行 SSCMS 镜像,镜像数据持久化存储在 Volume 中,接下来,可以通过 http://localhost 获取 http://host-ip 访问 SSCMS 系统了。

# 3、环境变量配置

可以通过环境变量配置 SSCMS 运行参数:

SSCMS_SECURITY_KEY 必填项,SSCMS 客户端与服务器端加密通讯使用的秘钥,通常为 GUID 字符串

SSCMS_DATABASE_TYPE 必填项,SSCMS 使用的数据库类型,可以为以下取值中的一种:

  • MySQL : MySQL 数据库
  • SQLServer : Microsoft SQLServer 数据库
  • PostgreSQL : PostgreSQL 数据库
  • SQLite : SQLite 数据库

DATABASE_HOST 数据库主机地址

DATABASE_PORT 数据库访问端口

DATABASE_USER 数据库用户名

DATABASE_PASSWORD 数据库密码

DATABASE_NAME 数据库库名

DATABASE_CONNECTION_STRING 数据库连接字符串

REDIS_CONNECTION_STRING Redis 缓存连接字符串

如果 SSCMS_DATABASE_TYPE 设置为 SQLite 本地数据库,数据库将存储在 wwwroot/sitefiles/database.sqlite 文件中,如果 SSCMS_DATABASE_TYPE 设置为其他数据库类型,则还需要设置数据库环境变量。

数据库环境变量可以通过指定 DATABASE_HOSTDATABASE_PORTDATABASE_USERDATABASE_PASSWORD 以及 DATABASE_NAME 进行设置,也可以通过 DATABASE_CONNECTION_STRING 直接设置,两种方式选择其中一种。

# 4、安装 SS CMS 系统

至此,我们可以开始正式安装 SS CMS 系统了。

TIP

如果在云服务器环境中安装,请先配置安全组,确保网站地址及端口能够被外网访问。

打开浏览器,访问地址 http://<IP地址或域名>/ss-admin/install,进入 SS CMS 系统安装界面:

勾选我已经阅读并同意此协议,进入环境检测界面:

可以看到,运行环境现在为容器,点击下一步,进入数据库设置界面:

SSCMS 系统将根据容器运行时设置的环境变量获取数据库信息,点击下一步,进入缓存设置界面:

SSCMS 系统将根据容器运行时是否设置Redis连接字符串环境变量判断缓存类型,点击下一步,进入管理员设置界面:

在管理员设置界面中设置超级管理员的用户名及密码,设置完成后点击下一步,系统将显示安装成功界面:

点击 进入管理后台 按钮进入后台,至此,SS CMS 系统安装完毕。

上次更新: 2020-9-27 18:10:23